You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.8 KiB

9 years ago
/* globals vm */
module.exports = {
'select2': function (browser) {
browser
.url('http://localhost:8080/examples/select2/')
.waitForElementVisible('.select2', 1000)
.assert.elementPresent('select')
.assert.containsText('p', 'Selected: 0')
.assert.containsText('span.select2', 'Select one')
.click('.select2-selection__rendered')
.assert.count('.select2-results__option', 3)
.assert.containsText('.select2-results__option:nth-child(1)', 'Select one')
.assert.containsText('.select2-results__option:nth-child(2)', 'Hello')
.assert.containsText('.select2-results__option:nth-child(3)', 'World')
.assert.attributePresent('.select2-results__option:nth-child(1)', 'aria-disabled')
.click('.select2-results__option:nth-child(2)')
.assert.count('.select2-results__option', 0)
.assert.containsText('p', 'Selected: 1')
.assert.containsText('span.select2', 'Hello')
// test dynamic options
.execute(function () {
vm.options.push({ id: 3, text: 'Vue' })
})
.click('.select2-selection__rendered')
.assert.count('.select2-results__option', 4)
.assert.containsText('.select2-results__option:nth-child(1)', 'Select one')
.assert.containsText('.select2-results__option:nth-child(2)', 'Hello')
.assert.containsText('.select2-results__option:nth-child(3)', 'World')
.assert.containsText('.select2-results__option:nth-child(4)', 'Vue')
.click('.select2-results__option:nth-child(4)')
.assert.count('.select2-results__option', 0)
.assert.containsText('p', 'Selected: 3')
.assert.containsText('span.select2', 'Vue')
.execute(function () {
vm.selected = 2
})
.assert.containsText('p', 'Selected: 2')
.assert.containsText('span.select2', 'World')
.end()
}
}