eslint-plugin-ui-testing
Version:
ESLint rules for UI testing tools WebdriverIO, Cypress, TestCafe, Playwright, Puppeteer
80 lines (79 loc) • 5.42 kB
JavaScript
;
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'] }),
},
},
};