MDL-42379 behat: Automated test for approving and disapproving glossary entries.
authorAdrian Greeve <adrian@moodle.com>
Fri, 18 Oct 2013 05:46:55 +0000 (13:46 +0800)
committerAdrian Greeve <adrian@moodle.com>
Mon, 28 Oct 2013 01:29:37 +0000 (09:29 +0800)
Automate MDLQA-34 - A teacher can set that glossary entries require approval before being viewable be everyone.

mod/glossary/tests/behat/entries_require_approval.feature [new file with mode: 0644]

diff --git a/mod/glossary/tests/behat/entries_require_approval.feature b/mod/glossary/tests/behat/entries_require_approval.feature
new file mode 100644 (file)
index 0000000..213c06a
--- /dev/null
@@ -0,0 +1,69 @@
+@mod @mod_glossary
+Feature: A teacher can choose whether glossary entries require approval
+  In order to check entries before they are displayed
+  As a user
+  I need to enable entries requiring approval
+
+  Scenario: Approve and disapprove glossary entries
+    Given the following "users" exists:
+      | username | firstname | lastname | email |
+      | teacher1 | Teacher | 1 | teacher1@asd.com |
+      | student1 | Student | 1 | student1@asd.com |
+      | student2 | Student | 2 | student2@asd.com |
+    And the following "courses" exists:
+      | fullname | shortname | category |
+      | Course 1 | C1 | 0 |
+    And the following "course enrolments" exists:
+      | user | course | role |
+      | teacher1 | C1 | editingteacher |
+      | student1 | C1 | student |
+      | student2 | C1 | student |
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I turn editing mode on
+    Given I add a "Glossary" to section "1" and I fill the form with:
+      | Name | Test glossary name |
+      | Description | Test glossary entries require approval |
+      | Approved by default | No |
+    And I log out
+    And I log in as "student1"
+    And I follow "Course 1"
+    And I follow "Test glossary name"
+    When I add a glossary entry with the following data:
+      | Concept | Just a test concept |
+      | Definition | Concept definition |
+      | Keyword(s) | Black |
+    And I log out
+    # Test that students can not see the unapproved entry.
+    And I log in as "student2"
+    And I follow "Course 1"
+    And I follow "Test glossary name"
+    Then I should see "No entries found in this section"
+    And I log out
+    # Approve the entry.
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I follow "Test glossary name"
+    And I follow "Waiting approval"
+    Then I should see "(this entry is currently hidden)"
+    And I follow "Approve"
+    And I follow "Test glossary name"
+    Then I should see "Concept definition"
+    And I log out
+    # Check that the entry can now be viewed by students.
+    And I log in as "student2"
+    And I follow "Course 1"
+    And I follow "Test glossary name"
+    Then I should see "Concept definition"
+    And I log out
+    # Disapprove the previous entry.
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I follow "Test glossary name"
+    And I follow "Disapprove"
+    And I log out
+    # Check that the entry is no longer visible by students.
+    And I log in as "student2"
+    And I follow "Course 1"
+    And I follow "Test glossary name"
+    Then I should see "No entries found in this section"
\ No newline at end of file