no-page-pause

Try in Playground
playwright

oscar143

Best PracticeInformational

0

playwright

No CWE or CVE

Disallow using page.pause (no-page-pause)

Enforce the page is not paused during a test run.

Ast Rule: function call


no-page-pause

How to write a rule
// See https://doc.codiga.io/docs/rosie/ast/javascript/rosie-ast-javascript-functioncall/
function getFunctionName(node) {
  if (node.astType === "member") {
    return node.name.value;
  }

  if (node.astType === "string") {
    return node.value;
  }

  return "";
}

function visit(node, filename, code) {
  // only run inside spec files
  if (!filename.includes(".spec.") && !filename.includes(".test.")) return;

  // Check this is a function call and the function name is a simple string
  if (
    node.functionName &&
    node.functionName.astType === "member" &&
    getFunctionName(node.functionName) === "pause" &&
    getFunctionName(node.functionName.parent) === "page"
  ) {
    const error = buildError(
      node.functionName.start.line,
      node.functionName.start.col,
      node.functionName.end.line,
      node.functionName.end.col,
      "Unexpected use of page.pause().",
      "INFORMATIONAL",
      "BEST_PRACTICE"
    );

    addError(error);
  }
}

test.spec.js

Expected test result: no error

Example of correct code for this rule


await page.click('button');

test.spec.js

Expected test result: has error

Example of incorrect code for this rule


await page.click('button');
await page.pause();
Add comment

Log in to add a comment


    Be the first one to leave a comment!

Codiga Logo
Codiga Hub
  • Rulesets
  • Playground
  • Snippets
  • Cookbooks
soc-2 icon

We are SOC-2 Compliance Certified

G2 high performer medal

Codiga – All rights reserved 2022.