no-pause.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. 'use strict'
  2. //------------------------------------------------------------------------------
  3. // Rule Definition
  4. //------------------------------------------------------------------------------
  5. module.exports = {
  6. meta: {
  7. docs: {
  8. description: 'Disallow using of \'cy.pause\' calls',
  9. category: 'Possible Errors',
  10. recommended: false,
  11. },
  12. fixable: null, // or "code" or "whitespace"
  13. schema: [],
  14. messages: {
  15. unexpected: 'Do not use cy.pause command',
  16. },
  17. },
  18. create (context) {
  19. // variables should be defined here
  20. //----------------------------------------------------------------------
  21. // Helpers
  22. //----------------------------------------------------------------------
  23. function isCallingPause (node) {
  24. return node.callee &&
  25. node.callee.property &&
  26. node.callee.property.type === 'Identifier' &&
  27. node.callee.property.name === 'pause'
  28. }
  29. function isCypressCall (node) {
  30. return node.callee &&
  31. node.callee.type === 'MemberExpression' &&
  32. node.callee.object.type === 'Identifier' &&
  33. node.callee.object.name === 'cy'
  34. }
  35. //----------------------------------------------------------------------
  36. // Public
  37. //----------------------------------------------------------------------
  38. return {
  39. CallExpression (node) {
  40. if (isCypressCall(node) && isCallingPause(node)) {
  41. context.report({ node, messageId: 'unexpected' })
  42. }
  43. },
  44. }
  45. },
  46. }