MDL-48159 mod_assign: Use proper step to navigate to homepage
[moodle.git] / mod / assign / tests / behat / submit_without_group.feature
1 @mod @mod_assign
2 Feature: Submit assignment without group
3   As a teacher
4   I should be able to prevent students submitting team assignments as members of the default group
6   @javascript
7   Scenario: Switch between group modes
8     Given the following "courses" exist:
9       | fullname | shortname | category | groupmode |
10       | Course 1 | C1        | 0        | 1         |
11       | Course 2 | C2        | 0        | 1         |
12     And the following "activities" exist:
13       | activity | course | idnumber | name                     | intro                       | assignsubmission_onlinetext_enabled | preventsubmissionnotingroup | teamsubmission |
14       | assign   | C1     | assign1  | Allow default group      | Test assignment description | 1                                   | 0                           | 1              |
15       | assign   | C1     | assign2  | Require group membership | Test assignment description | 1                                   | 1                           | 1              |
16       | assign   | C2     | assign2  | Require group membership | Test assignment description | 1                                   | 1                           | 1              |
17     And the following "users" exist:
18       | username | firstname | lastname | email            |
19       | teacher1 | Teacher   | 1        | teacher1@asd.com |
20       | student1 | Student   | 1        | student1@asd.com |
21       | student2 | Student   | 2        | student2@asd.com |
22     And the following "groups" exist:
23       | name    | course | idnumber |
24       | Group 1 | C2     | G1       |
25     And the following "course enrolments" exist:
26       | user     | course | role           |
27       | teacher1 | C1     | editingteacher |
28       | student1 | C1     | student        |
29       | student2 | C1     | student        |
30       | teacher1 | C2     | editingteacher |
31       | student1 | C2     | student        |
32       | student2 | C2     | student        |
33     And I log in as "teacher1"
34     And I follow "Course 2"
35     And I expand "Users" node
36     And I follow "Groups"
37     And I add "Student 1 (student1@asd.com)" user to "Group 1" group members
38     And I add "Student 2 (student2@asd.com)" user to "Group 1" group members
39     And I log out
40     When I log in as "student1"
41     And I follow "Course 1"
42     And I follow "Allow default group"
43     Then I should not see "You're not a member of any group, please contact your teacher."
44     And I should see "Nothing has been submitted for this assignment"
45     And I press "Add submission"
46     And I set the following fields to these values:
47       | Online text | I'm the student submission |
48     And I press "Save changes"
49     And I press "Submit assignment"
50     And I press "Continue"
51     Then I should see "Submitted for grading"
52     And I follow "Course 1"
53     And I follow "Require group membership"
54     Then I should see "You're not a member of any group, please contact your teacher."
55     And I should see "Nothing has been submitted for this assignment"
56     And I should not see "Add submission"
57     And I am on homepage
58     And I follow "Course 2"
59     And I follow "Require group membership"
60     Then I should not see "You're not a member of any group, please contact your teacher."
61     And I should see "Nothing has been submitted for this assignment"
62     And I press "Add submission"
63     And I set the following fields to these values:
64       | Online text | I'm the student submission |
65     And I press "Save changes"
66     And I press "Submit assignment"
67     And I press "Continue"
68     Then I should see "Submitted for grading"
69     And I log out
70     When I log in as "student2"
71     And I follow "Course 1"
72     And I follow "Allow default group"
73     Then I should see "Submitted for grading"
74     And I am on homepage
75     And I follow "Course 2"
76     And I follow "Require group membership"
77     Then I should see "Submitted for grading"
78     And I log out
79     And I log in as "teacher1"
80     And I follow "Course 1"
81     And I follow "Allow default group"
82     And I should see "1" in the "Groups" "table_row"
83     And I should not see "The setting 'Require group to make submission' is turned on and some users are not allocated to groups, this will prevent them from submitting assignments."
84     And I follow "View/grade all submissions"
85     And I should see "Default group" in the "Student 1" "table_row"
86     And I should see "Default group" in the "Student 2" "table_row"
87     And I should see "Submitted for grading" in the "Student 1" "table_row"
88     And I should see "Submitted for grading" in the "Student 2" "table_row"
89     And I am on homepage
90     And I follow "Course 1"
91     And I follow "Require group membership"
92     And I should see "0" in the "Groups" "table_row"
93     And I should see "The setting 'Require group to make submission' is turned on and some users are not allocated to groups, this will prevent them from submitting assignments."
94     And I follow "View/grade all submissions"
95     And I should see "Default group" in the "Student 1" "table_row"
96     And I should see "Default group" in the "Student 2" "table_row"
97     And I should not see "Submitted for grading" in the "Student 1" "table_row"
98     And I should not see "Submitted for grading" in the "Student 2" "table_row"
99     And I am on homepage
100     And I follow "Course 2"
101     And I follow "Require group membership"
102     And I should see "1" in the "Groups" "table_row"
103     And I should not see "The setting 'Require group to make submission' is turned on and some users are not allocated to groups, this will prevent them from submitting assignments."
104     And I follow "View/grade all submissions"
105     And I should see "Group 1" in the "Student 1" "table_row"
106     And I should see "Group 1" in the "Student 2" "table_row"
107     And I should see "Submitted for grading" in the "Student 1" "table_row"
108     And I should see "Submitted for grading" in the "Student 2" "table_row"