();
+
+ }
+}
diff --git a/src/Modules/StatCan.OrchardCore.SaaSConfiguration/ViewModels/SaasConfigurationSettingsViewModel.cs b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/ViewModels/SaasConfigurationSettingsViewModel.cs
new file mode 100644
index 000000000..db0c00d7e
--- /dev/null
+++ b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/ViewModels/SaasConfigurationSettingsViewModel.cs
@@ -0,0 +1,14 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace StatCan.OrchardCore.SaaSConfiguration.ViewModels
+{
+ public class SaasConfigurationSettingsViewModel
+ {
+ [Required(ErrorMessage = "ClientId is required")]
+ public string ClientId { get; set; }
+
+ public string ClientSecret { get; set; }
+
+ public string Authority { get; set; }
+ }
+}
diff --git a/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/Admin/ExecuteRecipe.cshtml b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/Admin/ExecuteRecipe.cshtml
new file mode 100644
index 000000000..87b2e5666
--- /dev/null
+++ b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/Admin/ExecuteRecipe.cshtml
@@ -0,0 +1,50 @@
+@model StatCan.OrchardCore.SaaSConfiguration.ViewModels.ExecuteRecipeViewModel
+@RenderTitleSegments(T["Execute Recipe for Tenants"])
+
+
+
+
+
+
+@Html.ValidationSummary()
+
+
+
+
diff --git a/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/SassConfigurationSettings.Edit.cshtml b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/SassConfigurationSettings.Edit.cshtml
new file mode 100644
index 000000000..1d0636953
--- /dev/null
+++ b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/SassConfigurationSettings.Edit.cshtml
@@ -0,0 +1,25 @@
+@using StatCan.OrchardCore.SaaSConfiguration.ViewModels
+@using Microsoft.IdentityModel.Protocols.OpenIdConnect
+
+@model SaasConfigurationSettingsViewModel
+
+@T["The tenants will be reloaded when the settings are saved."]
+
+
+
+
+
+ @T["The Uri of the tenant that houses the OpenId server. This will be used by the clients"]
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/_ViewImports.cshtml b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/_ViewImports.cshtml
new file mode 100644
index 000000000..4769da1c1
--- /dev/null
+++ b/src/Modules/StatCan.OrchardCore.SaaSConfiguration/Views/_ViewImports.cshtml
@@ -0,0 +1,9 @@
+@*
+ For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
+
+*@
+
+@inherits OrchardCore.DisplayManagement.Razor.RazorPage
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+@addTagHelper *, OrchardCore.DisplayManagement
+@addTagHelper *, OrchardCore.ResourceManagement
diff --git a/test/cypress/integration/000-setup-saas-site.js b/test/cypress/integration/000-setup-saas-site.js
index 48bee10dc..fc0b4e91f 100644
--- a/test/cypress/integration/000-setup-saas-site.js
+++ b/test/cypress/integration/000-setup-saas-site.js
@@ -3,6 +3,7 @@
const sassCreds = {
name: "Testing SaaS",
setupRecipe: "SaaS",
+ prefix: ""
}
describe("SaaS site setup", function() {
@@ -11,6 +12,7 @@ describe("SaaS site setup", function() {
cy.siteSetup(sassCreds);
cy.login(sassCreds);
cy.setPageSize(sassCreds,"100");
+ cy.enableFeature(sassCreds, "StatCan_OrchardCore_SaaSConfiguration");
});
});
\ No newline at end of file
diff --git a/test/cypress/integration/saas-auth.js b/test/cypress/integration/saas-auth.js
new file mode 100644
index 000000000..df39b7cd8
--- /dev/null
+++ b/test/cypress/integration/saas-auth.js
@@ -0,0 +1,17 @@
+///
+import { generateTenantInfo } from 'cypress-orchardcore/dist/utils';
+
+describe("SaaSConfiguration module tests", function() {
+ let tenant;
+
+ before(() => {
+ tenant = generateTenantInfo("vuetify-theme-setup");
+ cy.newTenant(tenant);
+ })
+
+ it("SaaSConfiguration module sets up the openid server properly", function() {
+ cy.login(tenant);
+ cy.enableFeature(tenant, "StatCan_OrchardCore_SaaSConfiguration_Client");
+ })
+
+});