@@ -26,7 +26,16 @@ let singleSelectValues1 = {
26
26
name: 'selectomatic',
27
27
values: ['One', 'Two', 'Four', 'Still learning how to count, apparently'],
28
28
}
29
-
let disabledSelect = { name: 'no-select', values: ['Foo'] }
29
+
30
+
let disabledSingleSelect = {
31
+
name: 'single_disabled',
32
+
values: ['Enabled', 'Disabled'],
33
+
}
34
+
let disabledMultiSelect = {
35
+
name: 'multi_disabled',
36
+
values: ['Enabled', 'Disabled'],
37
+
}
38
+
30
39
let multiSelectValues1 = {
31
40
name: 'multi',
32
41
values: ['Eggs', 'Ham', 'Sausages', 'Onion gravy'],
@@ -98,60 +107,6 @@ suite(
98
107
}
99
108
})
100
109
101
-
ignore(browsers(Browser.FIREFOX)).it(
102
-
'Should check selected option if select is disabled by index',
103
-
async function () {
104
-
await driver.get(Pages.formPage)
105
-
106
-
let selectorObject = new Select(
107
-
driver.findElement(By.name(disabledSelect['name']))
108
-
)
109
-
let firstSelected = await selectorObject.getFirstSelectedOption()
110
-
await selectorObject.selectByIndex(1)
111
-
let lastSelected = await selectorObject.getFirstSelectedOption()
112
-
assert.deepEqual(
113
-
await firstSelected.getAttribute('value'),
114
-
await lastSelected.getAttribute('value')
115
-
)
116
-
}
117
-
)
118
-
119
-
ignore(browsers(Browser.FIREFOX)).it(
120
-
'Should check selected option if select is disabled by value',
121
-
async function () {
122
-
await driver.get(Pages.formPage)
123
-
124
-
let selectorObject = new Select(
125
-
driver.findElement(By.name(disabledSelect['name']))
126
-
)
127
-
let firstSelected = await selectorObject.getFirstSelectedOption()
128
-
await selectorObject.selectByValue('bar')
129
-
let lastSelected = await selectorObject.getFirstSelectedOption()
130
-
assert.deepEqual(
131
-
await firstSelected.getAttribute('value'),
132
-
await lastSelected.getAttribute('value')
133
-
)
134
-
}
135
-
)
136
-
137
-
ignore(browsers(Browser.FIREFOX)).it(
138
-
'Should check selected option if select is disabled by visible text',
139
-
async function () {
140
-
await driver.get(Pages.formPage)
141
-
142
-
let selectorObject = new Select(
143
-
driver.findElement(By.name(disabledSelect['name']))
144
-
)
145
-
let firstSelected = await selectorObject.getFirstSelectedOption()
146
-
await selectorObject.selectByVisibleText('Bar')
147
-
let lastSelected = await selectorObject.getFirstSelectedOption()
148
-
assert.deepEqual(
149
-
await firstSelected.getAttribute('value'),
150
-
await lastSelected.getAttribute('value')
151
-
)
152
-
}
153
-
)
154
-
155
110
it('Should select by multiple index', async function () {
156
111
await driver.get(Pages.formPage)
157
112
@@ -217,6 +172,142 @@ suite(
217
172
)
218
173
}
219
174
})
175
+
176
+
it('Should raise exception select by value single disabled', async function () {
177
+
await driver.get(Pages.formPage)
178
+
179
+
let selector = new Select(
180
+
driver.findElement(By.name(disabledSingleSelect['name']))
181
+
)
182
+
183
+
await assert.rejects(
184
+
async () => {
185
+
await selector.selectByValue(
186
+
disabledSingleSelect.values[1].toLowerCase()
187
+
)
188
+
},
189
+
(err) => {
190
+
assert.strictEqual(err.name, 'UnsupportedOperationError')
191
+
assert.strictEqual(
192
+
err.message,
193
+
'You may not select a disabled option'
194
+
)
195
+
return true
196
+
}
197
+
)
198
+
})
199
+
200
+
it('Should raise exception select by index single disabled', async function () {
201
+
await driver.get(Pages.formPage)
202
+
203
+
let selector = new Select(
204
+
driver.findElement(By.name(disabledSingleSelect['name']))
205
+
)
206
+
207
+
await assert.rejects(
208
+
async () => {
209
+
await selector.selectByIndex(1)
210
+
},
211
+
(err) => {
212
+
assert.strictEqual(err.name, 'UnsupportedOperationError')
213
+
assert.strictEqual(
214
+
err.message,
215
+
'You may not select a disabled option'
216
+
)
217
+
return true
218
+
}
219
+
)
220
+
})
221
+
222
+
it('Should raise exception select by text single disabled', async function () {
223
+
await driver.get(Pages.formPage)
224
+
225
+
let selector = new Select(
226
+
driver.findElement(By.name(disabledSingleSelect['name']))
227
+
)
228
+
229
+
await assert.rejects(
230
+
async () => {
231
+
await selector.selectByVisibleText(disabledSingleSelect.values[1])
232
+
},
233
+
(err) => {
234
+
assert.strictEqual(err.name, 'UnsupportedOperationError')
235
+
assert.strictEqual(
236
+
err.message,
237
+
'You may not select a disabled option'
238
+
)
239
+
return true
240
+
}
241
+
)
242
+
})
243
+
244
+
it('Should raise exception select by index multiple disabled', async function () {
245
+
await driver.get(Pages.formPage)
246
+
247
+
let selector = new Select(
248
+
driver.findElement(By.name(disabledMultiSelect['name']))
249
+
)
250
+
251
+
await assert.rejects(
252
+
async () => {
253
+
await selector.selectByIndex(1)
254
+
},
255
+
(err) => {
256
+
assert.strictEqual(err.name, 'UnsupportedOperationError')
257
+
assert.strictEqual(
258
+
err.message,
259
+
'You may not select a disabled option'
260
+
)
261
+
return true
262
+
}
263
+
)
264
+
})
265
+
266
+
it('Should raise exception select by value multiple disabled', async function () {
267
+
await driver.get(Pages.formPage)
268
+
269
+
let selector = new Select(
270
+
driver.findElement(By.name(disabledMultiSelect['name']))
271
+
)
272
+
273
+
await assert.rejects(
274
+
async () => {
275
+
await selector.selectByValue(
276
+
disabledMultiSelect.values[1].toLowerCase()
277
+
)
278
+
},
279
+
(err) => {
280
+
assert.strictEqual(err.name, 'UnsupportedOperationError')
281
+
assert.strictEqual(
282
+
err.message,
283
+
'You may not select a disabled option'
284
+
)
285
+
return true
286
+
}
287
+
)
288
+
})
289
+
290
+
it('Should raise exception select by text multiple disabled', async function () {
291
+
await driver.get(Pages.formPage)
292
+
293
+
let selector = new Select(
294
+
driver.findElement(By.name(disabledMultiSelect['name']))
295
+
)
296
+
297
+
await assert.rejects(
298
+
async () => {
299
+
await selector.selectByVisibleText(disabledMultiSelect.values[1])
300
+
},
301
+
(err) => {
302
+
assert.strictEqual(err.name, 'UnsupportedOperationError')
303
+
assert.strictEqual(
304
+
err.message,
305
+
'You may not select a disabled option'
306
+
)
307
+
return true
308
+
}
309
+
)
310
+
})
220
311
})
221
312
},
222
313
{ browsers: ['firefox', 'chrome'] }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4