Merge pull request #6600 from KristianTashkov/challenge-winner-tests

Challenge select winner route tests
This commit is contained in:
Matteo Pagliazzi
2016-01-29 19:21:52 +01:00
2 changed files with 144 additions and 5 deletions

View File

@@ -438,9 +438,9 @@ api.deleteChallenge = {
};
/**
* @api {delete} /challenges/:challengeId Delete a challenge
* @api {post} /challenges/:challengeId/selectWinner/:winnerId Select winner for challenge
* @apiVersion 3.0.0
* @apiName DeleteChallenge
* @apiName SelectChallengeWinner
* @apiGroup Challenge
*
* @apiSuccess {object} empty An empty object
@@ -452,7 +452,7 @@ api.selectChallengeWinner = {
async handler (req, res) {
let user = res.locals.user;
req.checkParams('challenge', res.t('challengeIdRequired')).notEmpty().isUUID();
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
req.checkParams('winnerId', res.t('winnerIdRequired')).notEmpty().isUUID();
let validationErrors = req.validationErrors();
@@ -463,11 +463,11 @@ api.selectChallengeWinner = {
if (!challenge.canModify(user)) throw new NotAuthorized(res.t('onlyLeaderDeleteChal'));
let winner = await User.findOne({_id: req.params.winnerId}).exec();
if (!winner || winner.challenges.indexOf(challenge._id) === -1) throw new NotFound(res.t('winnerNotFound', {userId: req.parama.winnerId}));
if (!winner || winner.challenges.indexOf(challenge._id) === -1) throw new NotFound(res.t('winnerNotFound', {userId: req.params.winnerId}));
res.respond(200, {});
// Close channel in background
_closeChal(challenge, {broken: 'CHALLENGE_DELETED', winner});
_closeChal(challenge, {broken: 'CHALLENGE_CLOSED', winner});
},
};