import { translate as t, createAndPopulateGroup, } from '../../../../../helpers/api-integration/v3'; describe('Groups DELETE /tasks/:id', () => { let user; let guild; let member; let member2; let task; beforeEach(async () => { const { group, members, groupLeader } = await createAndPopulateGroup({ groupDetails: { name: 'Test Guild', type: 'guild', }, members: 2, upgradeToGroupPlan: true, }); guild = group; user = groupLeader; member = members[0]; // eslint-disable-line prefer-destructuring member2 = members[1]; // eslint-disable-line prefer-destructuring task = await user.post(`/tasks/group/${guild._id}`, { text: 'test habit', type: 'habit', up: false, down: true, notes: 1976, }); await user.post(`/tasks/${task._id}/assign`, [member._id, member2._id]); }); it('deletes a group task', async () => { await user.del(`/tasks/${task._id}`); await expect(user.get(`/tasks/${task._id}`)) .to.eventually.be.rejected.and.eql({ code: 404, error: 'NotFound', message: t('messageTaskNotFound'), }); }); it('allows a manager to delete a group task', async () => { await user.post(`/groups/${guild._id}/add-manager`, { managerId: member2._id, }); await member2.del(`/tasks/${task._id}`); await expect(user.get(`/tasks/${task._id}`)) .to.eventually.be.rejected.and.eql({ code: 404, error: 'NotFound', message: t('messageTaskNotFound'), }); }); });