MDL-51988 behat: Add coverage of participation report messaging
authorDan Poltawski <dan@moodle.com>
Wed, 11 Nov 2015 12:30:47 +0000 (12:30 +0000)
committerDan Poltawski <dan@moodle.com>
Wed, 11 Nov 2015 12:38:05 +0000 (12:38 +0000)
report/participation/tests/behat/message_participants.feature [new file with mode: 0644]

diff --git a/report/participation/tests/behat/message_participants.feature b/report/participation/tests/behat/message_participants.feature
new file mode 100644 (file)
index 0000000..72da3f3
--- /dev/null
@@ -0,0 +1,69 @@
+@report @report_participation @javascript
+Feature: Use the particiaption report to message groups of students
+  In order to engage with students based on participation
+  As a teacher
+  I need to be able to message students who have not participated in an activity
+
+  Background:
+    Given the following "courses" exist:
+      | fullname | shortname | category | groupmode |
+      | Course 1 | C1 | 0 | 1 |
+    And the following "users" exist:
+      | username | firstname | lastname | email |
+      | teacher1 | Teacher | 1 | teacher1@example.com |
+      | student1 | Student | 1 | student1@example.com |
+      | student2 | Student | 2 | student2@example.com |
+      | student3 | Student | 3 | student3@example.com |
+    And the following "course enrolments" exist:
+      | user | course | role |
+      | teacher1 | C1 | editingteacher |
+      | student1 | C1 | student |
+      | student2 | C1 | student |
+      | student3 | C1 | student |
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I turn editing mode on
+    And I add a "Book" to section "1" and I fill the form with:
+      | Name | Test book name |
+      | Description | Test book |
+    And I follow "Test book name"
+    And I set the following fields to these values:
+      | Chapter title | Test chapter |
+      | Content | Test chapter content |
+    And I log out
+    And I log in as "student1"
+    And I follow "Course 1"
+    And I follow "Test book name"
+    And I log out
+
+  Scenario: Message students who have not participated in book
+    Given I log in as "teacher1"
+    And I follow "Course 1"
+    And I navigate to "Course participation" node in "Course administration > Reports"
+    And I set the field "instanceid" to "Test book name"
+    And I set the field "roleid" to "Student"
+    And I press "Go"
+    And I should see "Yes (1)" in the "Student 1" "table_row"
+    And I should see "No" in the "Student 2" "table_row"
+    And I should see "No" in the "Student 3" "table_row"
+    When I press "Select all 'No'"
+    And I set the field "With selected users..." to "Send a message"
+    And I press "OK"
+    Then I should see "Added 2 new recipients"
+    And I should see "Student 2" in the "Currently selected users" "table"
+    And I should see "Student 3" in the "Currently selected users" "table"
+    And I should not see "Student 1" in the "Currently selected users" "table"
+
+  Scenario: Ensure no message options when messaging is disabled
+    Given I log in as "admin"
+    And I set the following administration settings values:
+      | messaging | 0 |
+    And I log out
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I navigate to "Course participation" node in "Course administration > Reports"
+    When I set the field "instanceid" to "Test book name"
+    And I set the field "roleid" to "Student"
+    And I press "Go"
+    Then I should not see "With selected users..."
+    And I should not see "Select all"