no-async-tests.js 1.1 KB

12345678910111213141516171819202122232425
  1. 'use strict'
  2. const rule = require('../../../lib/rules/no-async-tests')
  3. const RuleTester = require('eslint').RuleTester
  4. const ruleTester = new RuleTester()
  5. const errors = [{ messageId: 'unexpected' }]
  6. // async functions are an ES2017 feature
  7. const parserOptions = { ecmaVersion: 8 }
  8. ruleTester.run('no-async-tests', rule, {
  9. valid: [
  10. { code: 'it(\'a test case\', () => { cy.get(\'.someClass\'); })', parserOptions },
  11. { code: 'it(\'a test case\', async () => { await somethingAsync(); })', parserOptions },
  12. { code: 'async function nonTestFn () { return await somethingAsync(); }', parserOptions },
  13. { code: 'const nonTestArrowFn = async () => { await somethingAsync(); }', parserOptions },
  14. ],
  15. invalid: [
  16. { code: 'it(\'a test case\', async () => { cy.get(\'.someClass\'); })', parserOptions, errors },
  17. { code: 'test(\'a test case\', async () => { cy.get(\'.someClass\'); })', parserOptions, errors },
  18. { code: 'it(\'a test case\', async function () { cy.get(\'.someClass\'); })', parserOptions, errors },
  19. { code: 'test(\'a test case\', async function () { cy.get(\'.someClass\'); })', parserOptions, errors },
  20. ],
  21. })