Behat test to notify error for empty acronym or description
authorBarry Oosthuizen <barry.oosthuizen@nottingham.ac.uk>
Wed, 22 Jul 2015 10:56:32 +0000 (11:56 +0100)
committerBarry Oosthuizen <barry.oosthuizen@nottingham.ac.uk>
Wed, 22 Jul 2015 10:56:32 +0000 (11:56 +0100)
tests/behat/preferences.feature [new file with mode: 0644]

diff --git a/tests/behat/preferences.feature b/tests/behat/preferences.feature
new file mode 100644 (file)
index 0000000..0f30cbb
--- /dev/null
@@ -0,0 +1,55 @@
+@mod @uon @mod_attendance @mod_attendance_preferences
+Feature: Teachers can't change status variables to have empty acronyms or descriptions
+    In order to update status variables
+    As a teacher
+    I need to see an error notice below each acronym / description that I try to set to be empty
+
+    Background:
+        Given the following "courses" exist:
+            | fullname | shortname | summary | category |
+            | Course 1 | C101      | Prove the attendance activity settings works | 0 |
+        And the following "users" exist:
+            | username    | firstname | lastname |
+            | student1    | Sam       | Student  |
+            | teacher1    | Teacher   | One      |
+        And the following "course enrolments" exist:
+            | user        | course | role    |
+            | student1    | C101   | student |
+            | teacher1    | C101   | editingteacher |
+        And I log in as "teacher1"
+        And I follow "Course 1"
+        And I turn editing mode on
+        And I add a "Attendance" to section "1"
+        And I press "Save and display"
+        And I follow "Settings"
+
+    @javascript
+    Scenario: Teachers can add status variables
+        # Set the second status acronym to be empty
+        Given I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[2]/td[2]/input" to ""
+        # Set the second status description to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[2]/td[3]/input" to ""
+        # Set the second status grade to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[2]/td[4]/input" to ""
+        When I click on "Update" "button" in the "#preferencesform" "css_element"
+        Then I should see "Empty acronyms are not allowed" in the "//*[@id='preferencesform']/table/tbody/tr[2]/td[2]/p" "xpath_element"
+        And I should see "Empty descriptions are not allowed" in the "//*[@id='preferencesform']/table/tbody/tr[2]/td[3]/p" "xpath_element"
+        And I click on "Update" "button" in the "#preferencesform" "css_element"
+
+        # Set the first status acronym to be empty
+        Given I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[1]/td[2]/input" to ""
+        # Set the first status description to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[1]/td[3]/input" to ""
+        # Set the first status grade to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[1]/td[4]/input" to ""
+        # Set the third status acronym to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[3]/td[2]/input" to ""
+        # Set the third status description to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[3]/td[3]/input" to ""
+        # Set the third status grade to be empty
+        And I set the field with xpath "//*[@id='preferencesform']/table/tbody/tr[3]/td[4]/input" to ""
+        When I click on "Update" "button" in the "#preferencesform" "css_element"
+        Then I should see "Empty acronyms are not allowed" in the "//*[@id='preferencesform']/table/tbody/tr[1]/td[2]/p" "xpath_element"
+        And I should see "Empty descriptions are not allowed" in the "//*[@id='preferencesform']/table/tbody/tr[1]/td[3]/p" "xpath_element"
+        And I should see "Empty acronyms are not allowed" in the "//*[@id='preferencesform']/table/tbody/tr[3]/td[2]/p" "xpath_element"
+        And I should see "Empty descriptions are not allowed" in the "//*[@id='preferencesform']/table/tbody/tr[3]/td[3]/p" "xpath_element"