From ac418cf28c39fe89258cb94e1aff2d77dba6859a Mon Sep 17 00:00:00 2001 From: jtkech Date: Tue, 29 Mar 2016 03:52:57 +0200 Subject: [PATCH] Added specflows --- src/Orchard.Specs/Numeric.feature | 102 ++++++++++++- src/Orchard.Specs/Numeric.feature.cs | 217 +++++++++++++++++++++++++++ 2 files changed, 318 insertions(+), 1 deletion(-) diff --git a/src/Orchard.Specs/Numeric.feature b/src/Orchard.Specs/Numeric.feature index d01d96bc8..05f87e8f5 100644 --- a/src/Orchard.Specs/Numeric.feature +++ b/src/Orchard.Specs/Numeric.feature @@ -96,4 +96,104 @@ Scenario: Creating and using numeric fields | Fields[0].NumericFieldSettings.Maximum | b | And I hit "Save" Then I should see "The value 'a' is not valid for Minimum." - And I should see "The value 'b' is not valid for Maximum." \ No newline at end of file + And I should see "The value 'b' is not valid for Maximum." + + # The value should be validated + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | false | + | Fields[0].NumericFieldSettings.DefaultValue | 4 | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + And I fill in + | name | value | + | Event.Guests.Value | a | + And I hit "Save" + Then I should see "Guests or its default value is an invalid number" + + # If not required and no value, the default value should be used + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | false | + | Fields[0].NumericFieldSettings.DefaultValue | 4 | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + And I fill in + | name | value | + | Event.Guests.Value | | + And I hit "Save" + And I am redirected + Then I should see "Your Event has been created." + When I go to "Admin/Contents/List" + Then I should see "Guests:" + And I should see "4" + + # If required and no value, the default value should be used + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | true | + | Fields[0].NumericFieldSettings.DefaultValue | 5 | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + And I fill in + | name | value | + | Event.Guests.Value | | + And I hit "Save" + And I am redirected + Then I should see "Your Event has been created." + When I go to "Admin/Contents/List" + Then I should see "Guests:" + And I should see "5" + + # The default value should be validated + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | false | + | Fields[0].NumericFieldSettings.DefaultValue | a | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + And I fill in + | name | value | + | Event.Guests.Value | | + And I hit "Save" + Then I should see "Guests or its default value is an invalid number" + + # The default value should be bound + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | false | + | Fields[0].NumericFieldSettings.Minimum | -10 | + | Fields[0].NumericFieldSettings.Maximum | 100 | + | Fields[0].NumericFieldSettings.DefaultValue | -20 | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + And I fill in + | name | value | + | Event.Guests.Value | | + And I hit "Save" + Then I should see "The value must be greater than -10" + + # If required and no default value, the required attribute should be used + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | true | + | Fields[0].NumericFieldSettings.DefaultValue | | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + Then I should see "required=\"required\"" + + # If required and a default value is set, the required attribute should not be used + When I go to "Admin/ContentTypes/Edit/Event" + And I fill in + | name | value | + | Fields[0].NumericFieldSettings.Required | true | + | Fields[0].NumericFieldSettings.DefaultValue | 6 | + And I hit "Save" + And I go to "Admin/Contents/Create/Event" + Then I should not see "required=\"required\"" \ No newline at end of file diff --git a/src/Orchard.Specs/Numeric.feature.cs b/src/Orchard.Specs/Numeric.feature.cs index e90b2c1bf..ba4bda9ce 100644 --- a/src/Orchard.Specs/Numeric.feature.cs +++ b/src/Orchard.Specs/Numeric.feature.cs @@ -265,6 +265,223 @@ this.ScenarioSetup(scenarioInfo); testRunner.Then("I should see \"The value 'a' is not valid for Minimum.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line 99 testRunner.And("I should see \"The value 'b' is not valid for Maximum.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 102 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table11 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table11.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "false"}); + table11.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + "4"}); +#line 103 + testRunner.And("I fill in", ((string)(null)), table11, "And "); +#line 107 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 108 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + TechTalk.SpecFlow.Table table12 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table12.AddRow(new string[] { + "Event.Guests.Value", + "a"}); +#line 109 + testRunner.And("I fill in", ((string)(null)), table12, "And "); +#line 112 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 113 + testRunner.Then("I should see \"Guests or its default value is an invalid number\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 116 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table13 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table13.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "false"}); + table13.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + "4"}); +#line 117 + testRunner.And("I fill in", ((string)(null)), table13, "And "); +#line 121 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 122 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + TechTalk.SpecFlow.Table table14 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table14.AddRow(new string[] { + "Event.Guests.Value", + ""}); +#line 123 + testRunner.And("I fill in", ((string)(null)), table14, "And "); +#line 126 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 127 + testRunner.And("I am redirected", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 128 + testRunner.Then("I should see \"Your Event has been created.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 129 + testRunner.When("I go to \"Admin/Contents/List\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 130 + testRunner.Then("I should see \"Guests:\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 131 + testRunner.And("I should see \"4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 134 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table15 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table15.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "true"}); + table15.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + "5"}); +#line 135 + testRunner.And("I fill in", ((string)(null)), table15, "And "); +#line 139 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 140 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + TechTalk.SpecFlow.Table table16 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table16.AddRow(new string[] { + "Event.Guests.Value", + ""}); +#line 141 + testRunner.And("I fill in", ((string)(null)), table16, "And "); +#line 144 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 145 + testRunner.And("I am redirected", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 146 + testRunner.Then("I should see \"Your Event has been created.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 147 + testRunner.When("I go to \"Admin/Contents/List\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 148 + testRunner.Then("I should see \"Guests:\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 149 + testRunner.And("I should see \"5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 152 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table17 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table17.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "false"}); + table17.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + "a"}); +#line 153 + testRunner.And("I fill in", ((string)(null)), table17, "And "); +#line 157 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 158 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + TechTalk.SpecFlow.Table table18 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table18.AddRow(new string[] { + "Event.Guests.Value", + ""}); +#line 159 + testRunner.And("I fill in", ((string)(null)), table18, "And "); +#line 162 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 163 + testRunner.Then("I should see \"Guests or its default value is an invalid number\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 166 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table19 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table19.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "false"}); + table19.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Minimum", + "-10"}); + table19.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Maximum", + "100"}); + table19.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + "-20"}); +#line 167 + testRunner.And("I fill in", ((string)(null)), table19, "And "); +#line 173 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 174 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + TechTalk.SpecFlow.Table table20 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table20.AddRow(new string[] { + "Event.Guests.Value", + ""}); +#line 175 + testRunner.And("I fill in", ((string)(null)), table20, "And "); +#line 178 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 179 + testRunner.Then("I should see \"The value must be greater than -10\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 182 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table21 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table21.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "true"}); + table21.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + ""}); +#line 183 + testRunner.And("I fill in", ((string)(null)), table21, "And "); +#line 187 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 188 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 189 + testRunner.Then("I should see \"required=\\\"required\\\"\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 192 + testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden + TechTalk.SpecFlow.Table table22 = new TechTalk.SpecFlow.Table(new string[] { + "name", + "value"}); + table22.AddRow(new string[] { + "Fields[0].NumericFieldSettings.Required", + "true"}); + table22.AddRow(new string[] { + "Fields[0].NumericFieldSettings.DefaultValue", + "6"}); +#line 193 + testRunner.And("I fill in", ((string)(null)), table22, "And "); +#line 197 + testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 198 + testRunner.And("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 199 + testRunner.Then("I should not see \"required=\\\"required\\\"\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden this.ScenarioCleanup(); }