UNPKG

eslint-plugin-jest-extended

Version:
44 lines (43 loc) 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _utils = require("@typescript-eslint/utils"); var _utils2 = require("./utils"); var _default = exports.default = (0, _utils2.createRule)({ name: __filename, meta: { docs: { description: 'Suggest using `toHaveBeenCalledOnce()`' }, messages: { preferCalledOnce: 'Prefer `toHaveBeenCalledOnce()`' }, fixable: 'code', type: 'suggestion', schema: [] }, defaultOptions: [], create(context) { return { CallExpression(node) { const jestFnCall = (0, _utils2.parseJestFnCall)(node, context); if (jestFnCall?.type !== 'expect') { return; } if ((0, _utils2.getAccessorValue)(jestFnCall.matcher) === 'toHaveBeenCalledTimes' && jestFnCall.args.length === 1) { const arg = (0, _utils2.getFirstMatcherArg)(jestFnCall); if (arg.type !== _utils.AST_NODE_TYPES.Literal || arg.value !== 1) { return; } context.report({ node: jestFnCall.matcher, messageId: 'preferCalledOnce', fix: fixer => [fixer.replaceText(jestFnCall.matcher, 'toHaveBeenCalledOnce'), fixer.remove(jestFnCall.args[0])] }); } } }; } });