From 2d127d0d225997948a9a5a098e7c9313f39c970c Mon Sep 17 00:00:00 2001 From: Jason Kurian Date: Wed, 27 May 2020 09:57:31 -0400 Subject: [PATCH] fix: allow assignment of children of whitelisted commands in no-assigning-return-values rule (#60) --- lib/rules/no-assigning-return-values.js | 4 +++- tests/lib/rules/no-assigning-return-values.js | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/rules/no-assigning-return-values.js b/lib/rules/no-assigning-return-values.js index 55c71a07..40060a6b 100644 --- a/lib/rules/no-assigning-return-values.js +++ b/lib/rules/no-assigning-return-values.js @@ -59,7 +59,9 @@ function isCypressCommandDeclaration (declarator) { const commandName = get(declarator, 'init.callee.property.name') - if (commandName && whitelistedCommands[commandName]) return + const parent = get(object, 'parent.property.name') || get(declarator, 'id.name') + + if (commandName && (whitelistedCommands[commandName] || whitelistedCommands[parent])) return return object.name === 'cy' } diff --git a/tests/lib/rules/no-assigning-return-values.js b/tests/lib/rules/no-assigning-return-values.js index 8218d126..9d574911 100644 --- a/tests/lib/rules/no-assigning-return-values.js +++ b/tests/lib/rules/no-assigning-return-values.js @@ -16,6 +16,7 @@ ruleTester.run('no-assigning-return-values', rule, { { code: 'const foo = bar();', parserOptions }, { code: 'const foo = bar().baz();', parserOptions }, { code: 'const spy = cy.spy();', parserOptions }, + { code: 'const spy = cy.spy().as();', parserOptions }, { code: 'const stub = cy.stub();', parserOptions }, { code: 'const result = cy.now();', parserOptions }, { code: 'const state = cy.state();', parserOptions },