require-data-selectors.js 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. 'use strict'
  2. const rule = require('../../../lib/rules/require-data-selectors')
  3. const RuleTester = require('eslint').RuleTester
  4. const ruleTester = new RuleTester()
  5. const errors = [{ messageId: 'unexpected' }]
  6. const parserOptions = { ecmaVersion: 6 }
  7. ruleTester.run('require-data-selectors', rule, {
  8. valid: [
  9. { code: 'cy.get(\'[data-cy=submit]\').click()', parserOptions },
  10. { code: 'cy.get(\'[data-QA=submit]\')', parserOptions },
  11. { code: 'cy.clock(5000)', parserOptions },
  12. { code: 'cy.scrollTo(0, 10)', parserOptions },
  13. { code: 'cy.tick(500)', parserOptions },
  14. { code: 'cy.get(\`[data-cy=${1}]\`)', parserOptions },
  15. { code: 'cy.get("@my-alias")', parserOptions, errors },
  16. { code: 'cy.get(`@my-alias`)', parserOptions, errors },
  17. ],
  18. invalid: [
  19. { code: 'cy.get(\'[daedta-cy=submit]\').click()', parserOptions, errors },
  20. { code: 'cy.get(\'[d-cy=submit]\')', parserOptions, errors },
  21. { code: 'cy.get(".btn-large").click()', parserOptions, errors },
  22. { code: 'cy.get(".btn-.large").click()', parserOptions, errors },
  23. { code: 'cy.get(".a")', parserOptions, errors },
  24. { code: 'cy.get(\`[daedta-cy=${1}]\`)', parserOptions, errors },
  25. ],
  26. })