Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
@core @javascript
2
Feature: Navigate action menu subpanels
3
  In order to navigate an action menu subpanel
4
  As a user
5
  I need to be able to use both keyboard and mouse to open the subpanel
6
 
7
  Background:
8
    Given I log in as "admin"
9
    And I am on fixture page "/lib/tests/behat/fixtures/action_menu_subpanel_output_testpage.php"
10
 
11
  Scenario: Navigate several action menus subpanels with mouse
12
    Given I click on "Actions menu" "button" in the "regularscenario" "region"
13
    And I click on "Subpanel example" "menuitem" in the "regularscenario" "region"
14
    And I should see "Status A" in the "regularscenario" "region"
15
    And I should see "Status B" in the "regularscenario" "region"
16
    And I should not see "Status C" in the "regularscenario" "region"
17
    And I should not see "Status D" in the "regularscenario" "region"
18
    When I click on "Another subpanel" "menuitem" in the "regularscenario" "region"
19
    Then I should not see "Status A" in the "regularscenario" "region"
20
    And I should not see "Status B" in the "regularscenario" "region"
21
    And I should see "Status C" in the "regularscenario" "region"
22
    And I should see "Status D" in the "regularscenario" "region"
23
    And I click on "Status D" "link" in the "regularscenario" "region"
24
    And I should see "Foo param value: Donkey" in the "paramcheck" "region"
25
 
26
  Scenario: Check extra data in subpanel action menu items
27
    When I should see "Adding data attributes to menu item" in the "dataattributes" "region"
28
    # the page have a javascript script to check that for us.
29
    Then "[data-extra='some other value']" "css_element" should exist in the "dataattributes" "region"
30
    And "[data-extra='some other value']" "css_element" should exist in the "dataattributes" "region"
31
    And I should see "Extra data attribute detected: some extra value" in the "datachecks" "region"
32
    And I should see "Extra data attribute detected: some other value" in the "datachecks" "region"
33
 
34
  Scenario: User can navigate left menus subpanels
35
    Given I click on "Actions menu" "button" in the "menuleft" "region"
36
    And I click on "Subpanel example" "menuitem" in the "menuleft" "region"
37
    And I should see "Status A" in the "menuleft" "region"
38
    And I should see "Status B" in the "menuleft" "region"
39
    And I should not see "Status C" in the "menuleft" "region"
40
    And I should not see "Status D" in the "menuleft" "region"
41
    When I click on "Another subpanel" "menuitem" in the "menuleft" "region"
42
    Then I should not see "Status A" in the "menuleft" "region"
43
    And I should not see "Status B" in the "menuleft" "region"
44
    And I should see "Status C" in the "menuleft" "region"
45
    And I should see "Status D" in the "menuleft" "region"
46
    And I click on "Status D" "link" in the "menuleft" "region"
47
    And I should see "Foo param value: Donkey" in the "paramcheck" "region"
48
 
49
  Scenario: User can show the subpanels content using keyboard
50
    Given I click on "Actions menu" "button" in the "regularscenario" "region"
51
    # Move to the first subpanel element.
52
    And I press the down key
53
    And I press the down key
54
    And I press the down key
55
    And I should see "Status A" in the "regularscenario" "region"
56
    And I should see "Status B" in the "regularscenario" "region"
57
    And I should not see "Status C" in the "regularscenario" "region"
58
    And I should not see "Status D" in the "regularscenario" "region"
59
    # Move to the next subpanel.
60
    When I press the down key
61
    Then I should not see "Status A" in the "regularscenario" "region"
62
    And I should not see "Status B" in the "regularscenario" "region"
63
    And I should see "Status C" in the "regularscenario" "region"
64
    And I should see "Status D" in the "regularscenario" "region"
65
 
66
  Scenario: User can browse the subpanel content using the arrow keys
67
    Given I click on "Actions menu" "button" in the "regularscenario" "region"
68
    # Move to the first subpanel element.
69
    And I press the down key
70
    And I press the down key
71
    And I press the down key
72
    # Move in the subpanel with arrow keys and loop the links with up and down.
73
    When I press the right key
74
    And the focused element is "Status A" "link" in the "regularscenario" "region"
75
    And I press the down key
76
    And the focused element is "Status B" "link" in the "regularscenario" "region"
77
    And I press the down key
78
    And the focused element is "Status A" "link" in the "regularscenario" "region"
79
    And I press the up key
80
    And the focused element is "Status B" "link" in the "regularscenario" "region"
81
    # Leave the subpanel with right and left key.
82
    Then I press the right key
83
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
84
    And I press the right key
85
    And the focused element is "Status A" "link" in the "regularscenario" "region"
86
    And I press the left key
87
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
88
    And I press the left key
89
    And the focused element is "Status A" "link" in the "regularscenario" "region"
90
    And I press the left key
91
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
92
    # Move to the next subpanel with enter.
93
    And I press the down key
94
    And I press the right key
95
    And the focused element is "Status C" "link" in the "regularscenario" "region"
96
    And I press the down key
97
    And the focused element is "Status D" "link" in the "regularscenario" "region"
98
    # Select the current link of the panel with enter.
99
    And I press the enter key
100
    And I should see "Foo param value: Donkey" in the "paramcheck" "region"
101
 
102
  Scenario: User can open and close subpanels in mobile
103
    Given I change the viewport size to "mobile"
104
    And I click on "Actions menu" "button" in the "regularscenario" "region"
105
    And I should not see "Status A" in the "regularscenario" "region"
106
    And I should not see "Status B" in the "regularscenario" "region"
107
    And I should not see "Status C" in the "regularscenario" "region"
108
    And I should not see "Status D" in the "regularscenario" "region"
109
    When I click on "Subpanel example" "menuitem" in the "regularscenario" "region"
110
    And I should see "Status A" in the "regularscenario" "region"
111
    And I should see "Status B" in the "regularscenario" "region"
112
    And I should not see "Status C" in the "regularscenario" "region"
113
    And I should not see "Status D" in the "regularscenario" "region"
114
    # In mobile click the menu item toggles the subpanel.
115
    Then I click on "Subpanel example" "menuitem" in the "regularscenario" "region"
116
    And I should not see "Status A" in the "regularscenario" "region"
117
    And I should not see "Status B" in the "regularscenario" "region"
118
    And I should not see "Status C" in the "regularscenario" "region"
119
    And I should not see "Status D" in the "regularscenario" "region"
120
    And I click on "Another subpanel" "menuitem" in the "regularscenario" "region"
121
    And I should not see "Status A" in the "regularscenario" "region"
122
    And I should not see "Status B" in the "regularscenario" "region"
123
    And I should see "Status C" in the "regularscenario" "region"
124
    And I should see "Status D" in the "regularscenario" "region"
125
    And I click on "Status D" "link" in the "regularscenario" "region"
126
    And I should see "Foo param value: Donkey" in the "paramcheck" "region"
127
 
128
  Scenario: User can browse the subpanels using keys in extra small windows
129
    Given I change the viewport size to "mobile"
130
    And I click on "Actions menu" "button" in the "regularscenario" "region"
131
    # Go to the seconds subpanel and open it with enter.
132
    And I press the down key
133
    And I press the down key
134
    And I press the down key
135
    And I press the down key
136
    And the focused element is "Another subpanel" "menuitem" in the "regularscenario" "region"
137
    And I press the enter key
138
    When I should not see "Status A" in the "regularscenario" "region"
139
    And I should not see "Status B" in the "regularscenario" "region"
140
    And I should see "Status C" in the "regularscenario" "region"
141
    And I should see "Status D" in the "regularscenario" "region"
142
    And the focused element is "Status C" "link" in the "regularscenario" "region"
143
    # Loop the subpanel links wand the menu item with up and down.
144
    Then I press the down key
145
    And the focused element is "Status D" "link" in the "regularscenario" "region"
146
    And I press the down key
147
    And the focused element is "Another subpanel" "menuitem" in the "regularscenario" "region"
148
    And I press the down key
149
    And the focused element is "Status C" "link" in the "regularscenario" "region"
150
    And I press the down key
151
    And the focused element is "Status D" "link" in the "regularscenario" "region"
152
    And I press the up key
153
    And the focused element is "Status C" "link" in the "regularscenario" "region"
154
    And I press the up key
155
    And the focused element is "Another subpanel" "menuitem" in the "regularscenario" "region"
156
    # Use up in the item to close the panel.
157
    And I press the up key
158
    And I should not see "Status A" in the "regularscenario" "region"
159
    And I should not see "Status B" in the "regularscenario" "region"
160
    And I should not see "Status C" in the "regularscenario" "region"
161
    And I should not see "Status D" in the "regularscenario" "region"
162
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
163
    # Enter the panel and select the second link.
164
    And I press the enter key
165
    And I press the down key
166
    And the focused element is "Status B" "link" in the "regularscenario" "region"
167
    And I press the enter key
168
    And I should see "Foo param value: Beetle" in the "paramcheck" "region"
169
 
170
  Scenario: action menu subpanels can display optional icons in the menu item
171
    Given I click on "Actions menu" "button" in the "regularscenario" "region"
172
    And "Locked icon" "icon" should not exist in the "regularscenario" "region"
173
    And "Message icon" "icon" should not exist in the "regularscenario" "region"
174
    And I click on "Actions menu" "button" in the "menuleft" "region"
175
    And "Locked icon" "icon" should not exist in the "menuleft" "region"
176
    And "Message icon" "icon" should not exist in the "menuleft" "region"
177
    When I click on "Actions menu" "button" in the "itemicon" "region"
178
    Then "Locked icon" "icon" should exist in the "itemicon" "region"
179
    And "Message icon" "icon" should exist in the "itemicon" "region"
180
    And I click on "Actions menu" "button" in the "itemiconleft" "region"
181
    And "Locked icon" "icon" should exist in the "itemiconleft" "region"
182
    And "Message icon" "icon" should exist in the "itemiconleft" "region"
183
 
184
  @accessibility
185
  Scenario: User can browse the subpanels using keys in a drawer action menu
186
    Given I click on "Actions menu" "button" in the "drawersimulation" "region"
187
    # Go to the seconds subpanel and open it with enter.
188
    And I press the down key
189
    And I press the down key
190
    And I press the down key
191
    And I press the down key
192
    And the focused element is "Another subpanel" "menuitem" in the "drawersimulation" "region"
193
    And I press the enter key
194
    When I should not see "Status A" in the "drawersimulation" "region"
195
    And I should not see "Status B" in the "drawersimulation" "region"
196
    And I should see "Status C" in the "drawersimulation" "region"
197
    And I should see "Status D" in the "drawersimulation" "region"
198
    And the focused element is "Status C" "link" in the "drawersimulation" "region"
199
    # Loop the subpanel links wand the menu item with up and down.
200
    Then I press the down key
201
    And the focused element is "Status D" "link" in the "drawersimulation" "region"
202
    And I press the down key
203
    And the focused element is "Another subpanel" "menuitem" in the "drawersimulation" "region"
204
    And I press the down key
205
    And the focused element is "Status C" "link" in the "drawersimulation" "region"
206
    And I press the down key
207
    And the focused element is "Status D" "link" in the "drawersimulation" "region"
208
    And I press the up key
209
    And the focused element is "Status C" "link" in the "drawersimulation" "region"
210
    And I press the up key
211
    And the focused element is "Another subpanel" "menuitem" in the "drawersimulation" "region"
212
    # Use up in the item to close the panel.
213
    And I press the up key
214
    And I should not see "Status A" in the "drawersimulation" "region"
215
    And I should not see "Status B" in the "drawersimulation" "region"
216
    And I should not see "Status C" in the "drawersimulation" "region"
217
    And I should not see "Status D" in the "drawersimulation" "region"
218
    And the focused element is "Subpanel example" "menuitem" in the "drawersimulation" "region"
219
    And the page should meet accessibility standards with "wcag143" extra tests
220
    # Enter the panel and select the second link.
221
    And I press the enter key
222
    And I press the down key
223
    And the focused element is "Status B" "link" in the "drawersimulation" "region"
224
    And I press the enter key
225
    And I should see "Foo param value: Beetle" in the "paramcheck" "region"
226
 
227
  Scenario: User can browse the menu using the WCAG recommended compount keyboard navigation
228
    Given I click on "Actions menu" "button" in the "regularscenario" "region"
229
    And I press the down key
230
    And I press the down key
231
    And I press the down key
232
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
233
    When I press the tab key
234
    And the focused element is "Status A" "link" in the "regularscenario" "region"
235
    And I should see "Status A" in the "regularscenario" "region"
236
    And I should see "Status B" in the "regularscenario" "region"
237
    And I press the down key
238
    Then I press the shift tab key
239
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
240
    And I should not see "Status A" in the "regularscenario" "region"
241
    And I should not see "Status B" in the "regularscenario" "region"
242
    And I press the enter key
243
    And the focused element is "Status A" "link" in the "regularscenario" "region"
244
    And I should see "Status A" in the "regularscenario" "region"
245
    And I should see "Status B" in the "regularscenario" "region"
246
    And I press the escape key
247
    And the focused element is "Subpanel example" "menuitem" in the "regularscenario" "region"
248
    And I should not see "Status A" in the "regularscenario" "region"
249
    And I should not see "Status B" in the "regularscenario" "region"