57d0684c777a7be6c99877432abd63ace8292e95
[moodle.git] / blocks / myoverview / tests / behat / block_myoverview_customfield.feature
1 @block @block_myoverview @javascript
2 Feature: The my overview block allows users to group courses by custom fields
4   Background:
5     Given the following "users" exist:
6       | username | firstname | lastname | email                | idnumber |
7       | student1 | Student   | X        | student1@example.com | S1       |
8     And the following "custom field categories" exist:
9       | name          | component   | area   | itemid |
10       | Course fields | core_course | course | 0      |
11     And the following "custom fields" exist:
12       | name           | category      | type     | shortname     | configdata                                           |
13       | Checkbox field | Course fields | checkbox | checkboxfield |                                                      |
14       | Date field     | Course fields | date     | datefield     | {"mindate":0, "maxdate":0}                           |
15       | Select field   | Course fields | select   | selectfield   | {"options":"Option 1\nOption 2\nOption 3\nOption 4"} |
16       | Text field     | Course fields | text     | textfield     |                                                      |
17     And the following "courses" exist:
18       | fullname | shortname | category | customfield_checkboxfield | customfield_datefield | customfield_selectfield | customfield_textfield |
19       | Course 1 | C1        | 0        | 1                         | 981028800             | 1                       | fish                  |
20       | Course 2 | C2        | 0        | 0                         | 334324800             |                         |                       |
21       | Course 3 | C3        | 0        | 0                         | 981028800             | 2                       | dog                   |
22       | Course 4 | C4        | 0        | 1                         |                       | 3                       | cat                   |
23       | Course 5 | C5        | 0        |                           | 334411200             | 2                       | fish                  |
24     And the following "course enrolments" exist:
25       | user     | course | role    |
26       | student1 | C1     | student |
27       | student1 | C2     | student |
28       | student1 | C3     | student |
29       | student1 | C4     | student |
30       | student1 | C5     | student |
32   Scenario: Group courses by checkbox: Yes
33     Given the following config values are set as admin:
34       | displaygroupingcustomfield | 1             | block_myoverview |
35       | customfiltergrouping       | checkboxfield | block_myoverview |
36     And I log in as "student1"
37     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
38     When I click on "Checkbox field: Yes" "link" in the "Course overview" "block"
39     Then I should see "Course 1" in the "Course overview" "block"
40     And I should not see "Course 2" in the "Course overview" "block"
41     And I should not see "Course 3" in the "Course overview" "block"
42     And I should see "Course 4" in the "Course overview" "block"
43     And I should not see "Course 5" in the "Course overview" "block"
45   Scenario: Group courses by checkbox: No
46     Given the following config values are set as admin:
47       | displaygroupingcustomfield | 1             | block_myoverview |
48       | customfiltergrouping       | checkboxfield | block_myoverview |
49     And I log in as "student1"
50     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
51     When I click on "Checkbox field: No" "link" in the "Course overview" "block"
52     Then I should not see "Course 1" in the "Course overview" "block"
53     And I should see "Course 2" in the "Course overview" "block"
54     And I should see "Course 3" in the "Course overview" "block"
55     And I should not see "Course 4" in the "Course overview" "block"
56     And I should see "Course 5" in the "Course overview" "block"
58   Scenario: Group courses by date: 1 February 2001
59     Given the following config values are set as admin:
60       | displaygroupingcustomfield | 1         | block_myoverview |
61       | customfiltergrouping       | datefield | block_myoverview |
62     And I log in as "student1"
63     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
64     When I click on "1 February 2001" "link" in the "Course overview" "block"
65     Then I should see "Course 1" in the "Course overview" "block"
66     And I should not see "Course 2" in the "Course overview" "block"
67     And I should see "Course 3" in the "Course overview" "block"
68     And I should not see "Course 4" in the "Course overview" "block"
69     And I should not see "Course 5" in the "Course overview" "block"
71   Scenario: Group courses by date: 6 August 1980
72     Given the following config values are set as admin:
73       | displaygroupingcustomfield | 1         | block_myoverview |
74       | customfiltergrouping       | datefield | block_myoverview |
75     And I log in as "student1"
76     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
77     When I click on "6 August 1980" "link" in the "Course overview" "block"
78     Then I should not see "Course 1" in the "Course overview" "block"
79     And I should not see "Course 2" in the "Course overview" "block"
80     And I should not see "Course 3" in the "Course overview" "block"
81     And I should not see "Course 4" in the "Course overview" "block"
82     And I should see "Course 5" in the "Course overview" "block"
84   Scenario: Group courses by date: No Date field
85     Given the following config values are set as admin:
86       | displaygroupingcustomfield | 1         | block_myoverview |
87       | customfiltergrouping       | datefield | block_myoverview |
88     And I log in as "student1"
89     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
90     When I click on "No Date field" "link" in the "Course overview" "block"
91     Then I should not see "Course 1" in the "Course overview" "block"
92     And I should not see "Course 2" in the "Course overview" "block"
93     And I should not see "Course 3" in the "Course overview" "block"
94     And I should see "Course 4" in the "Course overview" "block"
95     And I should not see "Course 5" in the "Course overview" "block"
97   Scenario: Group courses by select: Option 1
98     Given the following config values are set as admin:
99       | displaygroupingcustomfield | 1           | block_myoverview |
100       | customfiltergrouping       | selectfield | block_myoverview |
101     And I log in as "student1"
102     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
103     And I should not see "Option 4" in the "Course overview" "block"
104     When I click on "Option 1" "link" in the "Course overview" "block"
105     Then I should see "Course 1" in the "Course overview" "block"
106     And I should not see "Course 2" in the "Course overview" "block"
107     And I should not see "Course 3" in the "Course overview" "block"
108     And I should not see "Course 4" in the "Course overview" "block"
109     And I should not see "Course 5" in the "Course overview" "block"
111   Scenario: Group courses by select: Option 2
112     Given the following config values are set as admin:
113       | displaygroupingcustomfield | 1           | block_myoverview |
114       | customfiltergrouping       | selectfield | block_myoverview |
115     And I log in as "student1"
116     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
117     When I click on "Option 2" "link" in the "Course overview" "block"
118     Then I should not see "Course 1" in the "Course overview" "block"
119     And I should not see "Course 2" in the "Course overview" "block"
120     And I should see "Course 3" in the "Course overview" "block"
121     And I should not see "Course 4" in the "Course overview" "block"
122     And I should see "Course 5" in the "Course overview" "block"
124   Scenario: Group courses by select: No Select field
125     Given the following config values are set as admin:
126       | displaygroupingcustomfield | 1           | block_myoverview |
127       | customfiltergrouping       | selectfield | block_myoverview |
128     And I log in as "student1"
129     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
130     When I click on "No Select field" "link" in the "Course overview" "block"
131     Then I should not see "Course 1" in the "Course overview" "block"
132     And I should see "Course 2" in the "Course overview" "block"
133     And I should not see "Course 3" in the "Course overview" "block"
134     And I should not see "Course 4" in the "Course overview" "block"
135     And I should not see "Course 5" in the "Course overview" "block"
137   Scenario: Group courses by text: fish
138     Given the following config values are set as admin:
139       | displaygroupingcustomfield | 1         | block_myoverview |
140       | customfiltergrouping       | textfield | block_myoverview |
141     And I log in as "student1"
142     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
143     When I click on "fish" "link" in the "Course overview" "block"
144     Then I should see "Course 1" in the "Course overview" "block"
145     And I should not see "Course 2" in the "Course overview" "block"
146     And I should not see "Course 3" in the "Course overview" "block"
147     And I should not see "Course 4" in the "Course overview" "block"
148     And I should see "Course 5" in the "Course overview" "block"
150   Scenario: Group courses by text: dog
151     Given the following config values are set as admin:
152       | displaygroupingcustomfield | 1         | block_myoverview |
153       | customfiltergrouping       | textfield | block_myoverview |
154     And I log in as "student1"
155     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
156     When I click on "dog" "link" in the "Course overview" "block"
157     Then I should not see "Course 1" in the "Course overview" "block"
158     And I should not see "Course 2" in the "Course overview" "block"
159     And I should see "Course 3" in the "Course overview" "block"
160     And I should not see "Course 4" in the "Course overview" "block"
161     And I should not see "Course 5" in the "Course overview" "block"
163   Scenario: Group courses by text: No Text field
164     Given the following config values are set as admin:
165       | displaygroupingcustomfield | 1         | block_myoverview |
166       | customfiltergrouping       | textfield | block_myoverview |
167     And I log in as "student1"
168     And I click on "All (except removed from view)" "button" in the "Course overview" "block"
169     When I click on "No Text field" "link" in the "Course overview" "block"
170     Then I should not see "Course 1" in the "Course overview" "block"
171     And I should see "Course 2" in the "Course overview" "block"
172     And I should not see "Course 3" in the "Course overview" "block"
173     And I should not see "Course 4" in the "Course overview" "block"
174     And I should not see "Course 5" in the "Course overview" "block"