File size: 1,848 Bytes
bc20498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
'use strict'

const rule = require('../../../lib/rules/no-unnecessary-waiting')
const RuleTester = require('eslint').RuleTester

const ruleTester = new RuleTester()

const errors = [{ messageId: 'unexpected' }]

ruleTester.run('no-unnecessary-waiting', rule, {
  valid: [
    { code: 'foo.wait(10)' },

    { code: 'cy.wait("@someRequest")' },
    { code: 'cy.wait("@someRequest", { log: false })' },
    { code: 'cy.wait("@someRequest").then((xhr) => xhr)' },
    { code: 'cy.wait(["@someRequest", "@anotherRequest"])' },

    { code: 'cy.clock(5000)' },
    { code: 'cy.scrollTo(0, 10)' },
    { code: 'cy.tick(500)' },

    { code: 'const someRequest="@someRequest"; cy.wait(someRequest)' },
    { code: 'function customWait (alias = "@someRequest") { cy.wait(alias) }' },
    { code: 'const customWait = (alias = "@someRequest") => { cy.wait(alias) }' },
    { code: 'function customWait (ms) { cy.wait(ms) }' },
    { code: 'const customWait = (ms) => { cy.wait(ms) }' },

    { code: 'import BAR_BAZ from "bar-baz"; cy.wait(BAR_BAZ)' },
    { code: 'import { FOO_BAR } from "foo-bar"; cy.wait(FOO_BAR)' },
    { code: 'import * as wildcard from "wildcard"; cy.wait(wildcard.value)' },
    { code: 'import { NAME as OTHER_NAME } from "rename"; cy.wait(OTHER_NAME)' },
  ],

  invalid: [
    { code: 'cy.wait(0)', errors },
    { code: 'cy.wait(100)', errors },
    { code: 'cy.wait(5000)', errors },
    { code: 'const someNumber=500; cy.wait(someNumber)', errors },
    { code: 'function customWait (ms = 1) { cy.wait(ms) }', errors },
    { code: 'const customWait = (ms = 1) => { cy.wait(ms) }', errors },

    { code: 'cy.get(".some-element").wait(10)', errors },
    { code: 'cy.get(".some-element").contains("foo").wait(10)', errors },
    { code: 'const customWait = (ms = 1) => { cy.get(".some-element").wait(ms) }', errors },
  ],
})