diff --git a/website/client/src/store/getters/tasks.js b/website/client/src/store/getters/tasks.js index d5d3824247..fbee4bd06e 100644 --- a/website/client/src/store/getters/tasks.js +++ b/website/client/src/store/getters/tasks.js @@ -172,7 +172,8 @@ export function getTaskClasses (store) { if (type === 'todo' || type === 'daily') { if (task.completed || (!shouldDo(dueDate, task, userPreferences) && type === 'daily') - || (task.group.assignedUsersDetail && task.group.assignedUsersDetail[userId] + || (task.group && task.group.assignedUsersDetail + && task.group.assignedUsersDetail[userId] && task.group.assignedUsersDetail[userId].completed) ) { return { diff --git a/website/client/tests/unit/store/getters/tasks/canEdit.spec.js b/website/client/tests/unit/store/getters/tasks/canEdit.spec.js index e736a77493..15962b7030 100644 --- a/website/client/tests/unit/store/getters/tasks/canEdit.spec.js +++ b/website/client/tests/unit/store/getters/tasks/canEdit.spec.js @@ -35,7 +35,10 @@ describe('canEdit getter', () => { }); it('can Edit task in own dashboard', () => { expect(store.getters['tasks:canEdit'](task, 'challenge', true, null, challenge)).to.equal(true); - expect(store.getters['tasks:canEdit'](task, 'group', true, group, null)).to.equal(true); + }); + + it('cannot Edit group task in own dashboard', () => { + expect(store.getters['tasks:canEdit'](task, 'group', true, group, null)).to.equal(false); }); it('can Edit any challenge task if admin', () => { diff --git a/website/client/tests/unit/store/getters/tasks/getTaskClasses.spec.js b/website/client/tests/unit/store/getters/tasks/getTaskClasses.spec.js index 4782eafeac..ad05f73a6c 100644 --- a/website/client/tests/unit/store/getters/tasks/getTaskClasses.spec.js +++ b/website/client/tests/unit/store/getters/tasks/getTaskClasses.spec.js @@ -143,7 +143,14 @@ describe('getTaskClasses getter', () => { }); it('returns noninteractive classes and padlock icons for group board tasks', () => { - const task = { type: 'todo', value: 2, group: { id: 'group-id' } }; + const task = { + type: 'todo', + value: 2, + group: { + id: 'group-id', + assignedUsers: ['not-me'], + }, + }; expect(getTaskClasses(task, 'control')).to.deep.equal({ bg: 'task-good-control-bg-noninteractive', checkbox: 'task-good-control-checkbox',