Background: Option sets consist of one or more options. Option sets consist of a defined enumerated type (Integer, Positive Integer, Text, etc).
Feature: Create an option set
Scenario: Given that I can create an option set
When I create a new option set
I should be able to create a new option set named "Test Option Set"
with code "TEST_OPTION_SET
with type "INTEGER"
Feature: Add a valid option to an option set
Scenario: Given that I can add options to the option set called "Test Option Set"
I should be able to add a new option named "Zero" with code "0"
Feature: Add an invalid option to an option set
Scenario: Given that I can add options to the option set called "Test Option Set"
I should not be able to add a new option named "One" with code "ONE"
Feature: Modify an existing option of an option set
Scenario: Given that I can modify option to the option set called "Test Option Set"
I should not be able to modify the code of the existing option called "Zero"
Feature: Prevent duplicate options within an option set
Scenario: Given that I can add an option to the option set called "Test Option Set"
and that this option set has an option named "Zero" with code "0"
I should be able to add a new option named "NewZero" with code "0"
Feature: Delete an option from an option set
Scenario: Given that I can delete options to the option set called "Test Option Set"
I should not be able to add a new option named "One" with code "ONE"
Feature: Modify an option set name
Scenario: Given that I can modify the option set called "Test Option Set"
I should be able to change its name to "New Test Option Set"
Feature: Modify an option set code
Scenario: Given that I can modify the option set called "New Test Option Set"
I should be able to change its code to "NEW_TEST"
Feature: Modify an option set type
Scenario: Given that I can modify the option set called "New Test Option Set"
I should not be able to change its type to "TEXT"
Additional tests: Translation and sharing
Background: Option sets consist of one or more options. Option sets consist of a defined enumerated type (Integer, Positive Integer, Text, etc).
Feature: Create an option set
Scenario: Given that I can create an option set
When I create a new option set
I should be able to create a new option set named "Test Option Set"
with code "TEST_OPTION_SET
with type "INTEGER"
Feature: Add a valid option to an option set
Scenario: Given that I can add options to the option set called "Test Option Set"
I should be able to add a new option named "Zero" with code "0"
Feature: Add an invalid option to an option set
Scenario: Given that I can add options to the option set called "Test Option Set"
I should not be able to add a new option named "One" with code "ONE"
Feature: Modify an existing option of an option set
Scenario: Given that I can modify option to the option set called "Test Option Set"
I should not be able to modify the code of the existing option called "Zero"
Feature: Prevent duplicate options within an option set
Scenario: Given that I can add an option to the option set called "Test Option Set"
and that this option set has an option named "Zero" with code "0"
I should be able to add a new option named "NewZero" with code "0"
Feature: Delete an option from an option set
Scenario: Given that I can delete options to the option set called "Test Option Set"
I should not be able to add a new option named "One" with code "ONE"
Feature: Modify an option set name
Scenario: Given that I can modify the option set called "Test Option Set"
I should be able to change its name to "New Test Option Set"
Feature: Modify an option set code
Scenario: Given that I can modify the option set called "New Test Option Set"
I should be able to change its code to "NEW_TEST"
Feature: Modify an option set type
Scenario: Given that I can modify the option set called "New Test Option Set"
I should not be able to change its type to "TEXT"
Additional tests: Translation and sharing