From 2a797c056d9205a9d10dc95859d15bf3507352ee Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 26 Dec 2021 17:36:07 +1300 Subject: [PATCH] fix(prefer-to-have-value): check that property exists before accessing --- src/__tests__/lib/rules/prefer-to-have-value.js | 4 ++++ src/assignment-ast.js | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/__tests__/lib/rules/prefer-to-have-value.js b/src/__tests__/lib/rules/prefer-to-have-value.js index d965fbf..792f0ae 100644 --- a/src/__tests__/lib/rules/prefer-to-have-value.js +++ b/src/__tests__/lib/rules/prefer-to-have-value.js @@ -51,6 +51,10 @@ ruleTester.run("prefer-to-have-value", rule, { `const element = { value: 'foo' }; expect(element.value).not.toBe('foo');`, + ` + const res = makePath()(); + expect(res.value).toEqual('/repositories/create'); + `, ], invalid: [ { diff --git a/src/assignment-ast.js b/src/assignment-ast.js index dc8a9c8..4f5e987 100644 --- a/src/assignment-ast.js +++ b/src/assignment-ast.js @@ -74,7 +74,9 @@ export function getQueryNodeFrom(context, nodeWithValueProp) { }; } - const query = queryNode.callee.name || queryNode.callee.property.name; + const query = + queryNode.callee.name || + (queryNode.callee.property && queryNode.callee.property.name); const queryArg = queryNode.arguments[0] && queryNode.arguments[0].value; const isDTLQuery = queries.includes(query);