From 0bfc9d95169ad5894bb3393feb7db8144da74511 Mon Sep 17 00:00:00 2001 From: Travis Date: Tue, 25 Oct 2016 19:47:49 -0700 Subject: [PATCH] fix: allows user to save an alias and checklistCollapsed properties of a challenge task. fixes #7875 (#8170) --- test/api/v3/integration/tasks/PUT-tasks_id.test.js | 4 ++++ website/server/models/task.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/test/api/v3/integration/tasks/PUT-tasks_id.test.js b/test/api/v3/integration/tasks/PUT-tasks_id.test.js index 1c6e5734c8..cb0a715caf 100644 --- a/test/api/v3/integration/tasks/PUT-tasks_id.test.js +++ b/test/api/v3/integration/tasks/PUT-tasks_id.test.js @@ -74,6 +74,7 @@ describe('PUT /tasks/:id', () => { checklist: [ {text: 123, completed: false}, ], + collapseChecklist: false, }); await sleep(2); @@ -111,6 +112,7 @@ describe('PUT /tasks/:id', () => { {text: 123, completed: false}, {text: 456, completed: true}, ], + collapseChecklist: true, notes: 'new notes', attribute: 'per', tags: [challengeUserTaskId], @@ -143,6 +145,8 @@ describe('PUT /tasks/:id', () => { expect(savedChallengeUserTask.streak).to.equal(25); expect(savedChallengeUserTask.reminders.length).to.equal(2); expect(savedChallengeUserTask.checklist.length).to.equal(2); + expect(savedChallengeUserTask.alias).to.equal('a-short-task-name'); + expect(savedChallengeUserTask.collapseChecklist).to.equal(true); }); }); diff --git a/website/server/models/task.js b/website/server/models/task.js index 35121645c8..efff2ff61c 100644 --- a/website/server/models/task.js +++ b/website/server/models/task.js @@ -119,7 +119,7 @@ TaskSchema.statics.findByIdOrAlias = async function findByIdOrAlias (identifier, TaskSchema.statics.sanitizeUserChallengeTask = function sanitizeUserChallengeTask (taskObj) { let initialSanitization = this.sanitize(taskObj); - return _.pick(initialSanitization, ['streak', 'checklist', 'attribute', 'reminders', 'tags', 'notes']); + return _.pick(initialSanitization, ['streak', 'checklist', 'attribute', 'reminders', 'tags', 'notes', 'collapseChecklist', 'alias']); }; // Sanitize checklist objects (disallowing id)