unsafe-to-chain-command.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. 'use strict'
  2. const rule = require('../../../lib/rules/unsafe-to-chain-command')
  3. const RuleTester = require('eslint').RuleTester
  4. const ruleTester = new RuleTester()
  5. const errors = [{ messageId: 'unexpected' }]
  6. const parserOptions = { ecmaVersion: 6 }
  7. ruleTester.run('action-ends-chain', rule, {
  8. valid: [
  9. {
  10. code: 'cy.get("new-todo").type("todo A{enter}"); cy.get("new-todo").type("todo B{enter}"); cy.get("new-todo").should("have.class", "active");',
  11. parserOptions,
  12. },
  13. {
  14. code: 'cy.focused().should("be.visible");',
  15. parserOptions,
  16. },
  17. ],
  18. invalid: [
  19. {
  20. code: 'cy.get("new-todo").type("todo A{enter}").should("have.class", "active");',
  21. parserOptions,
  22. errors,
  23. },
  24. {
  25. code: 'cy.get("new-todo").type("todo A{enter}").type("todo B{enter}");',
  26. parserOptions,
  27. errors,
  28. },
  29. {
  30. code: 'cy.get("new-todo").focus().should("have.class", "active");',
  31. parserOptions,
  32. errors,
  33. },
  34. {
  35. code: 'cy.get("new-todo").customType("todo A{enter}").customClick();',
  36. parserOptions,
  37. errors,
  38. options: [{ methods: ['customType', 'customClick'] }],
  39. },
  40. {
  41. code: 'cy.get("new-todo").customPress("Enter").customScroll();',
  42. parserOptions,
  43. errors,
  44. options: [{ methods: [/customPress/, /customScroll/] }],
  45. },
  46. ],
  47. })