27aa0749f96cf1039b4f8fe265f6aa041bf6ff3d
[moodle.git] / mod / assign / tests / behat / assign_user_override.feature
1 @mod @mod_assign @javascript
2 Feature: Assign user override
3   In order to grant a student special access to an assignment
4   As a teacher
5   I need to create an override for that user.
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | teacher1 | Tina | Teacher1 | teacher1@example.com |
11       | student1 | Sam1 | Student1 | student1@example.com |
12       | student2 | Sam2 | Student2 | student2@example.com |
13     And the following "courses" exist:
14       | fullname | shortname | category |
15       | Course 1 | C1 | 0 |
16     And the following "course enrolments" exist:
17       | user | course | role |
18       | teacher1 | C1 | editingteacher |
19       | student1 | C1 | student |
20       | student2 | C1 | student |
21     And I log in as "teacher1"
22     And I am on "Course 1" course homepage with editing mode on
23     And I add a "Assignment" to section "1" and I fill the form with:
24       | Assignment name | Test assignment name |
25       | Description | Submit your online text |
26       | assignsubmission_onlinetext_enabled | 1 |
27       | assignsubmission_onlinetext_wordlimit_enabled | 1 |
28       | assignsubmission_onlinetext_wordlimit | 10 |
29       | assignsubmission_file_enabled | 0 |
31   Scenario: Add, modify then delete a user override
32     When I follow "Test assignment name"
33     And I navigate to "User overrides" in current page administration
34     And I press "Add user override"
35     And I set the following fields to these values:
36       | Override user      | Student1 |
37       | id_duedate_enabled | 1 |
38       | duedate[day]       | 1 |
39       | duedate[month]     | January |
40       | duedate[year]      | 2020 |
41       | duedate[hour]      | 08 |
42       | duedate[minute]    | 00 |
43     And I press "Save"
44     And I should see "Wednesday, 1 January 2020, 8:00"
45     Then I click on "Edit" "link" in the "Sam1 Student1" "table_row"
46     And I set the following fields to these values:
47       | duedate[year] | 2030 |
48     And I press "Save"
49     And I should see "Tuesday, 1 January 2030, 8:00"
50     And I click on "Delete" "link"
51     And I press "Continue"
52     And I should not see "Sam1 Student1"
54   Scenario: Duplicate a user override
55     When I follow "Test assignment name"
56     And I navigate to "User overrides" in current page administration
57     And I press "Add user override"
58     And I set the following fields to these values:
59       | Override user      | Student1 |
60       | id_duedate_enabled | 1 |
61       | duedate[day]       | 1 |
62       | duedate[month]     | January |
63       | duedate[year]      | 2020 |
64       | duedate[hour]      | 08 |
65       | duedate[minute]    | 00 |
66     And I press "Save"
67     And I should see "Wednesday, 1 January 2020, 8:00"
68     Then I click on "copy" "link"
69     And I set the following fields to these values:
70       | Override user  | Student2  |
71       | duedate[year] | 2030 |
72     And I press "Save"
73     And I should see "Tuesday, 1 January 2030, 8:00"
74     And I should see "Sam2 Student2"
76   Scenario: Allow a user to have a different due date
77     When I follow "Test assignment name"
78     And I navigate to "Edit settings" in current page administration
79     And I set the following fields to these values:
80       | id_duedate_enabled | 1 |
81       | id_allowsubmissionsfromdate_enabled | 0 |
82       | id_cutoffdate_enabled | 0 |
83       | duedate[day]       | 1 |
84       | duedate[month]     | January |
85       | duedate[year]      | 2000 |
86       | duedate[hour]      | 08 |
87       | duedate[minute]    | 00 |
88     And I press "Save and display"
89     And I navigate to "User overrides" in current page administration
90     And I press "Add user override"
91     And I set the following fields to these values:
92       | Override user       | Student1 |
93       | id_duedate_enabled | 1 |
94       | duedate[day]       | 1 |
95       | duedate[month]     | January |
96       | duedate[year]      | 2020 |
97       | duedate[hour]      | 08 |
98       | duedate[minute]    | 00 |
99     And I press "Save"
100     And I should see "Wednesday, 1 January 2020, 8:00"
101     And I log out
102     And I log in as "student2"
103     And I am on "Course 1" course homepage
104     And I follow "Test assignment name"
105     Then I should see "Saturday, 1 January 2000, 8:00"
106     And I log out
107     And I log in as "student1"
108     And I am on "Course 1" course homepage
109     And I follow "Test assignment name"
110     And I should see "Wednesday, 1 January 2020, 8:00"
112   Scenario: Allow a user to have a different cut off date
113     When I follow "Test assignment name"
114     And I navigate to "Edit settings" in current page administration
115     And I set the following fields to these values:
116       | id_duedate_enabled | 0 |
117       | id_allowsubmissionsfromdate_enabled | 0 |
118       | id_cutoffdate_enabled | 1 |
119       | cutoffdate[day]       | 1 |
120       | cutoffdate[month]     | January |
121       | cutoffdate[year]      | 2000 |
122       | cutoffdate[hour]      | 08 |
123       | cutoffdate[minute]    | 00 |
124     And I press "Save and display"
125     And I navigate to "User overrides" in current page administration
126     And I press "Add user override"
127     And I set the following fields to these values:
128       | Override user       | Student1 |
129       | id_cutoffdate_enabled | 1 |
130       | cutoffdate[day]       | 1 |
131       | cutoffdate[month]     | January |
132       | cutoffdate[year]      | 2020 |
133       | cutoffdate[hour]      | 08 |
134       | cutoffdate[minute]    | 00 |
135     And I press "Save"
136     And I should see "Wednesday, 1 January 2020, 8:00"
137     And I log out
138     And I log in as "student2"
139     And I am on "Course 1" course homepage
140     And I follow "Test assignment name"
141     Then I should not see "Make changes to your submission"
142     And I log out
143     And I log in as "student1"
144     And I am on "Course 1" course homepage
145     And I follow "Test assignment name"
146     And I should see "Make changes to your submission"
148   Scenario: Allow a user to have a different start date
149     When I follow "Test assignment name"
150     And I navigate to "Edit settings" in current page administration
151     And I set the following fields to these values:
152       | id_duedate_enabled | 0 |
153       | id_allowsubmissionsfromdate_enabled | 1 |
154       | id_cutoffdate_enabled | 0 |
155       | allowsubmissionsfromdate[day]       | 1 |
156       | allowsubmissionsfromdate[month]     | January |
157       | allowsubmissionsfromdate[year]      | 2020 |
158       | allowsubmissionsfromdate[hour]      | 08 |
159       | allowsubmissionsfromdate[minute]    | 00 |
160     And I press "Save and display"
161     And I navigate to "User overrides" in current page administration
162     And I press "Add user override"
163     And I set the following fields to these values:
164       | Override user        | Student1 |
165       | id_allowsubmissionsfromdate_enabled | 1 |
166       | allowsubmissionsfromdate[day]       | 1 |
167       | allowsubmissionsfromdate[month]     | January |
168       | allowsubmissionsfromdate[year]      | 2015 |
169       | allowsubmissionsfromdate[hour]      | 08 |
170       | allowsubmissionsfromdate[minute]    | 00 |
171     And I press "Save"
172     And I should see "Thursday, 1 January 2015, 8:00"
173     And I log out
174     And I log in as "student2"
175     And I am on "Course 1" course homepage
176     And I follow "Test assignment name"
177     Then I should see "This assignment will accept submissions from Wednesday, 1 January 2020, 8:00"
178     And I log out
179     And I log in as "student1"
180     And I am on "Course 1" course homepage
181     And I follow "Test assignment name"
182     And I should not see "This assignment will accept submissions from Wednesday, 1 January 2020, 8:00"