mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-26 12:03:16 +08:00
* Fixed 10 tests that failed because the constructor for a service had changed. 26 Failing tests to fix. * Fixed 4 tests that failed because the constructor for a service had changed. 22 Failing tests to fix. * Fixed 7 tests from Orchard.Specs that were failing because of the changes made to how the name property of the form components for fields were generated. * Fixed 2 more tests from Orchard.Specs
134 lines
5.1 KiB
Gherkin
134 lines
5.1 KiB
Gherkin
Feature: Numeric Field
|
|
In order to add numeric content to my types
|
|
As an administrator
|
|
I want to create, edit and publish numeric fields
|
|
|
|
Scenario: Creating and using numeric fields
|
|
|
|
# Creating an Event content type
|
|
Given I have installed Orchard
|
|
And I have installed "Orchard.Fields"
|
|
When I go to "Admin/ContentTypes"
|
|
Then I should see "<a[^>]*>.*?Create new type</a>"
|
|
When I go to "Admin/ContentTypes/Create"
|
|
And I fill in
|
|
| name | value |
|
|
| DisplayName | Event |
|
|
| Name | Event |
|
|
And I hit "Create"
|
|
And I go to "Admin/ContentTypes/"
|
|
Then I should see "Event"
|
|
|
|
# Adding a numeric field
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I follow "Add Field"
|
|
And I fill in
|
|
| name | value |
|
|
| DisplayName | Guests |
|
|
| Name | Guests |
|
|
| FieldTypeName | NumericField |
|
|
And I hit "Save"
|
|
And I am redirected
|
|
Then I should see "The \"Guests\" field has been added."
|
|
|
|
# Creating an Event content item
|
|
When I go to "Admin/Contents/Create/Event"
|
|
Then I should see "Guests"
|
|
When I fill in
|
|
| name | value |
|
|
| Event.Guests.Value | 3 |
|
|
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 "3"
|
|
|
|
# The hint should be displayed
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.Hint | Please enter a number |
|
|
And I hit "Save"
|
|
And I go to "Admin/Contents/Create/Event"
|
|
Then I should see "Please enter a number"
|
|
|
|
# The value should be required
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.Required | true |
|
|
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 field Guests is mandatory."
|
|
|
|
# The value should be bound
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.Minimum | -10 |
|
|
| Fields[Guests].NumericFieldSettings.Maximum | 100 |
|
|
And I hit "Save"
|
|
And I go to "Admin/Contents/Create/Event"
|
|
Then I should see "min=\"-10\""
|
|
And I should see "max=\"100\""
|
|
When I fill in
|
|
| name | value |
|
|
| Event.Guests.Value | -20 |
|
|
And I hit "Save"
|
|
Then I should see "The value must be greater than -10"
|
|
When I go to "Admin/Contents/Create/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Event.Guests.Value | 101 |
|
|
And I hit "Save"
|
|
Then I should see "The value must be less than 100"
|
|
|
|
# Settings should be validated
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.Minimum | a |
|
|
| Fields[Guests].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."
|
|
|
|
# The value should be validated
|
|
When 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 is an invalid number"
|
|
|
|
# The default value should be proposed on creation
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.DefaultValue | 1234 |
|
|
And I hit "Save"
|
|
And I go to "Admin/Contents/Create/Event"
|
|
Then I should see "value=\"1234\""
|
|
|
|
# The required attribute should be used
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.Required | true |
|
|
And I hit "Save"
|
|
And I go to "Admin/Contents/Create/Event"
|
|
Then I should see "required=\"required\""
|
|
|
|
# The required attribute should not be used
|
|
When I go to "Admin/ContentTypes/Edit/Event"
|
|
And I fill in
|
|
| name | value |
|
|
| Fields[Guests].NumericFieldSettings.Required | false |
|
|
And I hit "Save"
|
|
And I go to "Admin/Contents/Create/Event"
|
|
Then I should not see "required=\"required\"" |