From f126ece9edf7e97f3edacf74d61c2b54ce9bf048 Mon Sep 17 00:00:00 2001 From: colby allen Date: Thu, 11 Jul 2019 09:53:57 -0400 Subject: [PATCH 1/4] wip: update to AddLinkToProjectAction test --- test/addLinkToProjectAction.test.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/addLinkToProjectAction.test.js b/test/addLinkToProjectAction.test.js index 0f19271..7ebf61b 100644 --- a/test/addLinkToProjectAction.test.js +++ b/test/addLinkToProjectAction.test.js @@ -69,6 +69,7 @@ describe('Add Link to Project Action', () => { await knex.select('*') .from('project_links') .where({ project_id: 'a123' }) + .andWhere({ url: 'toProjectExecute.com' }) .then(rows => expect(rows[0].label).to.equal('addlink')) .then(knex.select('label') .from('project_links') From 1c18c76862c73309205bd383fdbd4f0aa8bbdd61 Mon Sep 17 00:00:00 2001 From: colby allen Date: Thu, 11 Jul 2019 10:21:54 -0400 Subject: [PATCH 2/4] feat: /project add supports multi-word labels for links addLinkToProjectAction can accept multi worded label PBOT-103 --- lib/actions/addLinkToProjectAction.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/actions/addLinkToProjectAction.js b/lib/actions/addLinkToProjectAction.js index eb39cc7..52c80f2 100644 --- a/lib/actions/addLinkToProjectAction.js +++ b/lib/actions/addLinkToProjectAction.js @@ -16,10 +16,15 @@ class AddLinkToProjectAction { throw new TypeError('invalid input'); } - const linkParams = { - label: parsedUserInput[1], - link: parsedUserInput[2], - }; + let linkParams = { label: parsedUserInput[1], link: parsedUserInput[2] }; + + if (parsedUserInput.length <= 4) { + linkParams = { + label: parsedUserInput.slice(1, 3).join(' '), + link: parsedUserInput.pop(), + }; + } + return linkParams; } From 08186b5d33cb1a024689913fa186e56c8b5d44c9 Mon Sep 17 00:00:00 2001 From: colby allen Date: Thu, 11 Jul 2019 10:24:26 -0400 Subject: [PATCH 3/4] ref: execute returns AddLinkToProjevtResponse' --- lib/actions/addLinkToProjectAction.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/actions/addLinkToProjectAction.js b/lib/actions/addLinkToProjectAction.js index 52c80f2..fb0da56 100644 --- a/lib/actions/addLinkToProjectAction.js +++ b/lib/actions/addLinkToProjectAction.js @@ -34,8 +34,7 @@ class AddLinkToProjectAction { const projectLink = new this.projectLink(context.project, paramsObj.label, paramsObj.link); await projectLink.save(context.driver); // eslint-disable-next-line new-cap - const response = new AddLinkToProjectResponse(paramsObj.label, paramsObj.link); - return response; + return new AddLinkToProjectResponse(paramsObj.label, paramsObj.link); } } From ba6c39e9eb2875e2983a2c1a3e012a87123c317f Mon Sep 17 00:00:00 2001 From: colby allen Date: Thu, 11 Jul 2019 10:37:11 -0400 Subject: [PATCH 4/4] wip: correction to how linkparams labels are stored --- lib/actions/addLinkToProjectAction.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/actions/addLinkToProjectAction.js b/lib/actions/addLinkToProjectAction.js index fb0da56..10399f0 100644 --- a/lib/actions/addLinkToProjectAction.js +++ b/lib/actions/addLinkToProjectAction.js @@ -11,18 +11,18 @@ class AddLinkToProjectAction { parseParams(userInputString = '') { assert(typeof userInputString === 'string'); const parsedUserInput = userInputString.split(' '); - + let linkParams; if (parsedUserInput.length < 2) { throw new TypeError('invalid input'); } - let linkParams = { label: parsedUserInput[1], link: parsedUserInput[2] }; - - if (parsedUserInput.length <= 4) { + if (parsedUserInput.length >= 4) { linkParams = { label: parsedUserInput.slice(1, 3).join(' '), link: parsedUserInput.pop(), }; + } else { + linkParams = { label: parsedUserInput[1], link: parsedUserInput[2] }; } return linkParams;