select2.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* globals vm */
  2. module.exports = {
  3. 'select2': function (browser) {
  4. browser
  5. .url('http://localhost:8080/examples/select2/')
  6. .waitForElementVisible('.select2', 1000)
  7. .assert.elementPresent('select')
  8. .assert.containsText('p', 'Selected: 0')
  9. .assert.containsText('span.select2', 'Select one')
  10. .click('.select2-selection__rendered')
  11. .assert.count('.select2-results__option', 3)
  12. .assert.containsText('.select2-results__option:nth-child(1)', 'Select one')
  13. .assert.containsText('.select2-results__option:nth-child(2)', 'Hello')
  14. .assert.containsText('.select2-results__option:nth-child(3)', 'World')
  15. .assert.attributePresent('.select2-results__option:nth-child(1)', 'aria-disabled')
  16. .click('.select2-results__option:nth-child(2)')
  17. .assert.count('.select2-results__option', 0)
  18. .assert.containsText('p', 'Selected: 1')
  19. .assert.containsText('span.select2', 'Hello')
  20. // test dynamic options
  21. .execute(function () {
  22. vm.options.push({ id: 3, text: 'Vue' })
  23. })
  24. .click('.select2-selection__rendered')
  25. .assert.count('.select2-results__option', 4)
  26. .assert.containsText('.select2-results__option:nth-child(1)', 'Select one')
  27. .assert.containsText('.select2-results__option:nth-child(2)', 'Hello')
  28. .assert.containsText('.select2-results__option:nth-child(3)', 'World')
  29. .assert.containsText('.select2-results__option:nth-child(4)', 'Vue')
  30. .click('.select2-results__option:nth-child(4)')
  31. .assert.count('.select2-results__option', 0)
  32. .assert.containsText('p', 'Selected: 3')
  33. .assert.containsText('span.select2', 'Vue')
  34. .execute(function () {
  35. vm.selected = 2
  36. })
  37. .assert.containsText('p', 'Selected: 2')
  38. .assert.containsText('span.select2', 'World')
  39. .end()
  40. }
  41. }