Remove one id from array of typeIds instead of rewriting whole array

This commit is contained in:
Daniel Saewitz 2013-03-09 09:14:07 -05:00
parent 2111cca09a
commit 188e4ff271
2 changed files with 6 additions and 6 deletions

View file

@ -91,10 +91,11 @@ router.put '/user/task/:id', auth, validateTask, (req, res) ->
res.json 200, req.task
router.delete '/user/task/:id', auth, validateTask, (req, res) ->
taskIds = req.user.get("#{req.task.type}Ids")
taskIds.splice(taskIds.indexOf(req.task.id),1)
req.user.set "#{req.task.type}Ids", taskIds
taskIds = req.user.get "#{req.task.type}Ids"
req.user.del "tasks.#{req.task.id}"
# Remove one id from array of typeIds
req.user.remove "#{req.task.type}Ids", taskIds.indexOf(req.task.id), 1
res.send 204
@ -164,4 +165,3 @@ router.post '/user/tasks/:taskId/:direction', auth, scoreTask
module.exports = router
module.exports.auth = auth
module.exports.scoreTask = scoreTask # export so deprecated can call it

View file

@ -257,8 +257,8 @@ describe 'API', ->
expect(res.statusCode).to.be 204
query = model.query('users').withIdAndToken(currentUser.id, currentUser.apiToken)
query.fetch (err, user) ->
expect(user.get().habitIds.indexOf(tid)).to.be -1
expect(user.get().tasks[tid]).to.be undefined
expect(user.get('habitIds').indexOf(tid)).to.be -1
expect(user.get("tasks.#{tid}")).to.be undefined
done()
it 'DELETE /api/v1/user/task/:id (no task found)', (done) ->