2018-01-30 15:23:20 +00:00
|
|
|
import {
|
|
|
|
|
generateUser,
|
|
|
|
|
generateGroup,
|
2018-06-18 12:40:25 +00:00
|
|
|
} from '../../../../helpers/api-integration/v3';
|
2018-01-30 15:23:20 +00:00
|
|
|
|
|
|
|
|
describe('POST /challenges/:challengeId/clone', () => {
|
|
|
|
|
it('clones a challenge', async () => {
|
2019-10-08 18:45:38 +00:00
|
|
|
const user = await generateUser({ balance: 10 });
|
2018-01-30 15:23:20 +00:00
|
|
|
const group = await generateGroup(user);
|
|
|
|
|
|
|
|
|
|
const name = 'Test Challenge';
|
|
|
|
|
const shortName = 'TC Label';
|
|
|
|
|
const description = 'Test Description';
|
|
|
|
|
const prize = 1;
|
|
|
|
|
|
|
|
|
|
const challenge = await user.post('/challenges', {
|
|
|
|
|
group: group._id,
|
|
|
|
|
name,
|
|
|
|
|
shortName,
|
|
|
|
|
description,
|
|
|
|
|
prize,
|
|
|
|
|
});
|
|
|
|
|
const challengeTask = await user.post(`/tasks/challenge/${challenge._id}`, {
|
|
|
|
|
text: 'test habit',
|
|
|
|
|
type: 'habit',
|
|
|
|
|
up: false,
|
|
|
|
|
down: true,
|
|
|
|
|
notes: 1976,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const cloneChallengeResponse = await user.post(`/challenges/${challenge._id}/clone`, {
|
|
|
|
|
group: group._id,
|
|
|
|
|
name: `${name} cloned`,
|
|
|
|
|
shortName,
|
|
|
|
|
description,
|
|
|
|
|
prize,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
expect(cloneChallengeResponse.clonedTasks[0].text).to.eql(challengeTask.text);
|
|
|
|
|
expect(cloneChallengeResponse.clonedTasks[0]._id).to.not.eql(challengeTask._id);
|
2019-10-08 18:45:38 +00:00
|
|
|
expect(cloneChallengeResponse.clonedTasks[0].challenge.id)
|
|
|
|
|
.to.eql(cloneChallengeResponse.clonedChallenge._id);
|
2018-01-30 15:23:20 +00:00
|
|
|
});
|
|
|
|
|
});
|