UNPKG

eslint-plugin-ui-testing

Version:

ESLint rules for UI testing tools WebdriverIO, Cypress, TestCafe, Playwright, Puppeteer

80 lines (79 loc) 5.42 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var missing_assertion_in_test_1 = __importDefault(require("./rules/missing-assertion-in-test")); var no_absolute_url_1 = __importDefault(require("./rules/no-absolute-url")); var no_assertions_in_hooks_1 = __importDefault(require("./rules/no-assertions-in-hooks")); var no_browser_commands_in_tests_1 = __importDefault(require("./rules/no-browser-commands-in-tests")); var no_css_page_layout_selector_1 = __importDefault(require("./rules/no-css-page-layout-selector")); var no_disabled_tests_1 = __importDefault(require("./rules/no-disabled-tests")); var no_focused_tests_1 = __importDefault(require("./rules/no-focused-tests")); var no_hard_wait_1 = __importDefault(require("./rules/no-hard-wait")); var no_implicit_wait_1 = __importDefault(require("./rules/no-implicit-wait")); var no_link_text_selector_1 = __importDefault(require("./rules/no-link-text-selector")); var no_tag_name_selector_1 = __importDefault(require("./rules/no-tag-name-selector")); var no_wait_in_tests_1 = __importDefault(require("./rules/no-wait-in-tests")); var no_xpath_page_layout_selector_1 = __importDefault(require("./rules/no-xpath-page-layout-selector")); var no_xpath_selector_1 = __importDefault(require("./rules/no-xpath-selector")); var recommendedRules = { 'ui-testing/missing-assertion-in-test': 'error', 'ui-testing/no-assertions-in-hooks': 'error', 'ui-testing/no-disabled-tests': 'warn', 'ui-testing/no-focused-tests': 'warn', }; module.exports = { rules: { 'missing-assertion-in-test': missing_assertion_in_test_1.default, 'no-absolute-url': no_absolute_url_1.default, 'no-assertions-in-hooks': no_assertions_in_hooks_1.default, 'no-browser-commands-in-tests': no_browser_commands_in_tests_1.default, 'no-css-page-layout-selector': no_css_page_layout_selector_1.default, 'no-disabled-tests': no_disabled_tests_1.default, 'no-focused-tests': no_focused_tests_1.default, 'no-hard-wait': no_hard_wait_1.default, 'no-implicit-wait': no_implicit_wait_1.default, 'no-link-text-selector': no_link_text_selector_1.default, 'no-tag-name-selector': no_tag_name_selector_1.default, 'no-wait-in-tests': no_wait_in_tests_1.default, 'no-xpath-page-layout-selector': no_xpath_page_layout_selector_1.default, 'no-xpath-selector': no_xpath_selector_1.default, }, configs: { recommended: { plugins: ['ui-testing'], rules: recommendedRules, }, cypress: { plugins: ['ui-testing'], rules: __assign(__assign({}, recommendedRules), { 'ui-testing/missing-assertion-in-test': ['error', { assertCommands: ['should', 'expect', 'assert'] }], 'ui-testing/no-assertions-in-hooks': ['error', { assertCommands: ['should', 'expect', 'assert'] }], 'ui-testing/no-absolute-url': ['warn', 'cypress'], 'ui-testing/no-css-page-layout-selector': ['error', 'cypress'], 'ui-testing/no-hard-wait': ['error', 'cypress'] }), }, playwright: { plugins: ['ui-testing'], rules: __assign(__assign({}, recommendedRules), { 'ui-testing/no-browser-commands-in-tests': ['warn', 'playwright'], 'ui-testing/no-css-page-layout-selector': ['error', 'playwright'], 'ui-testing/no-hard-wait': ['error', 'playwright'], 'ui-testing/no-wait-in-tests': ['warn', 'playwright'] }), }, puppeteer: { plugins: ['ui-testing'], rules: __assign(__assign({}, recommendedRules), { 'ui-testing/no-browser-commands-in-tests': ['warn', 'puppeteer'], 'ui-testing/no-css-page-layout-selector': ['error', 'puppeteer'], 'ui-testing/no-hard-wait': ['error', 'puppeteer'], 'ui-testing/no-wait-in-tests': ['warn', 'puppeteer'] }), }, testcafe: { plugins: ['ui-testing'], rules: __assign(__assign({}, recommendedRules), { 'ui-testing/missing-assertion-in-test': ['error', { assertCommands: ['expect'] }], 'ui-testing/no-assertions-in-hooks': ['error', { assertCommands: ['expect'] }], 'ui-testing/no-css-page-layout-selector': ['error', 'testcafe'], 'ui-testing/no-hard-wait': ['error', 'testcafe'], 'ui-testing/no-wait-in-tests': ['warn', 'testcafe'] }), }, webdriverio: { plugins: ['ui-testing'], rules: __assign(__assign({}, recommendedRules), { 'ui-testing/no-absolute-url': ['warn', 'webdriverio'], 'ui-testing/no-browser-commands-in-tests': ['warn', 'webdriverio'], 'ui-testing/no-css-page-layout-selector': ['error', 'webdriverio'], 'ui-testing/no-hard-wait': ['error', 'webdriverio'], 'ui-testing/no-implicit-wait': ['error'], 'ui-testing/no-link-text-selector': ['error'], 'ui-testing/no-tag-name-selector': ['error'], 'ui-testing/no-wait-in-tests': ['warn', 'webdriverio'], 'ui-testing/no-xpath-page-layout-selector': ['error'], 'ui-testing/no-xpath-selector': ['warn'] }), }, }, };