MDL-38619 behat: New test
authorDavid Monllao <davidm@moodle.com>
Fri, 22 Mar 2013 08:14:58 +0000 (16:14 +0800)
committerDavid Monllao <davidm@moodle.com>
Thu, 28 Mar 2013 03:17:33 +0000 (11:17 +0800)
According to MDLQA-1445, an administrator
can upload users to a cohort.

cohort/tests/behat/upload_cohort_users.feature [new file with mode: 0644]
lib/tests/fixtures/upload_users_cohorts.csv [new file with mode: 0644]

diff --git a/cohort/tests/behat/upload_cohort_users.feature b/cohort/tests/behat/upload_cohort_users.feature
new file mode 100644 (file)
index 0000000..f8024e2
--- /dev/null
@@ -0,0 +1,55 @@
+@admin @cohorts
+Feature: Upload users to a cohort
+  In order to quickly fill site-wide groups with users
+  As a moodle admin
+  I need to upload a file with users data containing cohort assigns
+
+  @javascript
+  Scenario: Upload users and assign them to a course with cohort enrolment method enabled
+    Given the following "cohorts" exists:
+      | name | idnumber |
+      | Cohort 1 | ASD |
+      | Cohort 2 | DSA |
+    And the following "courses" exists:
+      | fullname | shortname | category |
+      | Course 1 | C1 | 0 |
+      | Course 2 | C2 | 0 |
+    And I log in as "admin"
+    And I follow "Course 1"
+    And I add "Cohort sync" enrolment method with:
+      | Cohort | Cohort 1 |
+    And I am on homepage
+    And I follow "Course 2"
+    And I add "Cohort sync" enrolment method with:
+      | Cohort | Cohort 2 |
+    And I expand "Course administration" node
+    And I expand "Site administration" node
+    And I expand "Users" node
+    And I expand "Accounts" node
+    When I follow "Upload users"
+    And I upload "lib/tests/fixtures/upload_users_cohorts.csv" file to "File" filepicker
+    And I press "Upload users"
+    And I press "Upload users"
+    And I press "Continue"
+    And I follow "Cohorts"
+    And I click on "Assign" "link" in the "//table[@id='cohorts']//tr[contains(., 'Cohort 1')]" "xpath_element"
+    Then the "Current users" select box should contain "Tom Jones (tomjones@example.com)"
+    And the "Current users" select box should contain "Bob Jones (bobjones@example.com)"
+    And I press "Back to cohorts"
+    And I click on "Assign" "link" in the "//table[@id='cohorts']//tr[contains(., 'Cohort 2')]" "xpath_element"
+    And the "Current users" select box should contain "Mary Smith (marysmith@example.com)"
+    And the "Current users" select box should contain "Alice Smith (alicesmith@example.com)"
+    And I am on homepage
+    And I follow "Course 1"
+    And I expand "Users" node
+    And I follow "Enrolled users"
+    And I should see "Tom Jones"
+    And I should see "Bob Jones"
+    And I should not see "Mary Smith"
+    And I am on homepage
+    And I follow "Course 2"
+    And I expand "Users" node
+    And I follow "Enrolled users"
+    And I should see "Mary Smith"
+    And I should see "Alice Smith"
+    And I should not see "Tom Jones"
diff --git a/lib/tests/fixtures/upload_users_cohorts.csv b/lib/tests/fixtures/upload_users_cohorts.csv
new file mode 100644 (file)
index 0000000..bb9c2d7
--- /dev/null
@@ -0,0 +1,5 @@
+username,password,firstname,lastname,email,cohort1
+tomjones,Pass1234*,Tom,Jones,tomjones@example.com,ASD
+marysmith,Pass1234*,Mary,Smith,marysmith@example.com,DSA
+bobjones,Pass1234*,Bob,Jones,bobjones@example.com,ASD
+alicesmith,Pass1234*,Alice,Smith,alicesmith@example.com,DSA