mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Added MultiTenancy spec test for tenant w/ preconfigured db
- Also updated the WebAppHosting binding's form filler to select the appropriate radio input based on given value --HG-- branch : dev
This commit is contained in:
@@ -157,9 +157,26 @@ namespace Orchard.Specs.Bindings {
|
||||
|
||||
foreach (var row in table.Rows) {
|
||||
var r = row;
|
||||
var input = inputs.SingleOrDefault(x => x.GetAttributeValue("name", x.GetAttributeValue("id", "")) == r["name"]);
|
||||
var input = inputs.First(x => x.GetAttributeValue("name", x.GetAttributeValue("id", "")) == r["name"]);
|
||||
Assert.That(input, Is.Not.Null, "Unable to locate <input> name {0} in page html:\r\n\r\n{1}", r["name"], Details.ResponseText);
|
||||
var inputType = input.Attributes["type"].Value.ToLowerInvariant();
|
||||
switch(inputType) {
|
||||
case "radio":
|
||||
var radios = inputs.Where(
|
||||
x =>
|
||||
x.GetAttributeValue("type", "") == "radio" &&
|
||||
x.GetAttributeValue("name", x.GetAttributeValue("id", "")) == r["name"]);
|
||||
foreach(var radio in radios) {
|
||||
if (radio.GetAttributeValue("value", "") == row["value"])
|
||||
radio.Attributes.Add("checked", "checked");
|
||||
else if (radio.Attributes.Contains("checked"))
|
||||
radio.Attributes.Remove("checked");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
input.Attributes.Add("value", row["value"]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,6 +220,11 @@ namespace Orchard.Specs.Bindings {
|
||||
Assert.That(Details.ResponseText, Is.StringContaining(text));
|
||||
}
|
||||
|
||||
[Then(@"I should not see ""(.*)""")]
|
||||
public void ThenIShouldNotSee(string text) {
|
||||
Assert.That(Details.ResponseText, Is.Not.StringContaining(text));
|
||||
}
|
||||
|
||||
[Then(@"the title contains ""(.*)""")]
|
||||
public void ThenTheTitleContainsText(string text) {
|
||||
ScenarioContext.Current.Pending();
|
||||
|
@@ -56,6 +56,23 @@ Scenario: A new tenant goes to the setup screen
|
||||
And I should see "Finish Setup"
|
||||
And the status should be 200 OK
|
||||
|
||||
Scenario: A new tenant with preconfigured database goes to the setup screen
|
||||
Given I have installed Orchard
|
||||
And I have installed "Orchard.MultiTenancy"
|
||||
When I go to "Admin/MultiTenancy/Add"
|
||||
And I fill in
|
||||
| name | value |
|
||||
| Name | Scott |
|
||||
| RequestUrlHost | scott.example.org |
|
||||
| DatabaseOptions | True |
|
||||
And I hit "Save"
|
||||
And I am redirected
|
||||
And I go to "/Setup" on host scott.example.org
|
||||
Then I should see "Welcome to Orchard"
|
||||
And I should see "Finish Setup"
|
||||
And I should not see "SQLite"
|
||||
And the status should be 200 OK
|
||||
|
||||
Scenario: A new tenant runs the setup
|
||||
Given I have installed Orchard
|
||||
And I have installed "Orchard.MultiTenancy"
|
||||
|
84
src/Orchard.Specs/MultiTenancy.feature.cs
generated
84
src/Orchard.Specs/MultiTenancy.feature.cs
generated
@@ -202,10 +202,10 @@ this.ScenarioSetup(scenarioInfo);
|
||||
}
|
||||
|
||||
[NUnit.Framework.TestAttribute()]
|
||||
[NUnit.Framework.DescriptionAttribute("A new tenant runs the setup")]
|
||||
public virtual void ANewTenantRunsTheSetup()
|
||||
[NUnit.Framework.DescriptionAttribute("A new tenant with preconfigured database goes to the setup screen")]
|
||||
public virtual void ANewTenantWithPreconfiguredDatabaseGoesToTheSetupScreen()
|
||||
{
|
||||
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A new tenant runs the setup", ((string[])(null)));
|
||||
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A new tenant with preconfigured database goes to the setup screen", ((string[])(null)));
|
||||
#line 59
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 60
|
||||
@@ -224,31 +224,77 @@ this.ScenarioSetup(scenarioInfo);
|
||||
table4.AddRow(new string[] {
|
||||
"RequestUrlHost",
|
||||
"scott.example.org"});
|
||||
table4.AddRow(new string[] {
|
||||
"DatabaseOptions",
|
||||
"True"});
|
||||
#line 63
|
||||
testRunner.And("I fill in", ((string)(null)), table4);
|
||||
#line 67
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 68
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 69
|
||||
testRunner.And("I am redirected");
|
||||
#line 70
|
||||
testRunner.And("I go to \"/Setup\" on host scott.example.org");
|
||||
#line 71
|
||||
testRunner.Then("I should see \"Welcome to Orchard\"");
|
||||
#line 72
|
||||
testRunner.And("I should see \"Finish Setup\"");
|
||||
#line 73
|
||||
testRunner.And("I should not see \"SQLite\"");
|
||||
#line 74
|
||||
testRunner.And("the status should be 200 OK");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
}
|
||||
|
||||
[NUnit.Framework.TestAttribute()]
|
||||
[NUnit.Framework.DescriptionAttribute("A new tenant runs the setup")]
|
||||
public virtual void ANewTenantRunsTheSetup()
|
||||
{
|
||||
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("A new tenant runs the setup", ((string[])(null)));
|
||||
#line 76
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 77
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 78
|
||||
testRunner.And("I have installed \"Orchard.MultiTenancy\"");
|
||||
#line 79
|
||||
testRunner.When("I go to \"Admin/MultiTenancy/Add\"");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table5 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
"value"});
|
||||
table5.AddRow(new string[] {
|
||||
"Name",
|
||||
"Scott"});
|
||||
table5.AddRow(new string[] {
|
||||
"RequestUrlHost",
|
||||
"scott.example.org"});
|
||||
#line 80
|
||||
testRunner.And("I fill in", ((string)(null)), table5);
|
||||
#line 84
|
||||
testRunner.And("I hit \"Save\"");
|
||||
#line 85
|
||||
testRunner.And("I go to \"/Setup\" on host scott.example.org");
|
||||
#line hidden
|
||||
TechTalk.SpecFlow.Table table6 = new TechTalk.SpecFlow.Table(new string[] {
|
||||
"name",
|
||||
"value"});
|
||||
table6.AddRow(new string[] {
|
||||
"SiteName",
|
||||
"Scott Site"});
|
||||
table5.AddRow(new string[] {
|
||||
table6.AddRow(new string[] {
|
||||
"AdminPassword",
|
||||
"6655321"});
|
||||
#line 69
|
||||
testRunner.And("I fill in", ((string)(null)), table5);
|
||||
#line 73
|
||||
#line 86
|
||||
testRunner.And("I fill in", ((string)(null)), table6);
|
||||
#line 90
|
||||
testRunner.And("I hit \"Finish Setup\"");
|
||||
#line 74
|
||||
#line 91
|
||||
testRunner.And("I go to \"/Default.aspx\"");
|
||||
#line 75
|
||||
#line 92
|
||||
testRunner.Then("I should see \"<h1>Scott Site</h1>\"");
|
||||
#line 76
|
||||
#line 93
|
||||
testRunner.And("I should see \"Welcome, <strong>admin</strong>!\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
@@ -259,19 +305,19 @@ this.ScenarioSetup(scenarioInfo);
|
||||
public virtual void ListingTenantsFromCommandLine()
|
||||
{
|
||||
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Listing tenants from command line", ((string[])(null)));
|
||||
#line 78
|
||||
#line 95
|
||||
this.ScenarioSetup(scenarioInfo);
|
||||
#line 79
|
||||
#line 96
|
||||
testRunner.Given("I have installed Orchard");
|
||||
#line 80
|
||||
#line 97
|
||||
testRunner.And("I have installed \"Orchard.MultiTenancy\"");
|
||||
#line 81
|
||||
#line 98
|
||||
testRunner.And("I have tenant \"Alpha\" on \"example.org\" as \"New-site-name\"");
|
||||
#line 82
|
||||
#line 99
|
||||
testRunner.When("I execute >tenant list");
|
||||
#line 83
|
||||
#line 100
|
||||
testRunner.Then("I should see \"Name: Alpha\"");
|
||||
#line 84
|
||||
#line 101
|
||||
testRunner.And("I should see \"Request Url Host: example.org\"");
|
||||
#line hidden
|
||||
testRunner.CollectScenarioErrors();
|
||||
|
Reference in New Issue
Block a user