eslint-plugin-jest
Version:
Eslint rules for Jest
42 lines (36 loc) • 954 B
JavaScript
;
const _require = require('./util'),
getDocsUrl = _require.getDocsUrl,
expectCase = _require.expectCase,
expectNotCase = _require.expectNotCase,
method = _require.method;
module.exports = {
meta: {
docs: {
url: getDocsUrl(__filename)
},
messages: {
preferCalledWith: 'Prefer {{name}}With(/* expected args */)'
}
},
create(context) {
return {
CallExpression(node) {
// Could check resolves/rejects here but not a likely idiom.
if (expectCase(node) && !expectNotCase(node)) {
const methodNode = method(node);
const name = methodNode.name;
if (name === 'toBeCalled' || name === 'toHaveBeenCalled') {
context.report({
data: {
name
},
messageId: 'preferCalledWith',
node: methodNode
});
}
}
}
};
}
};