Merge branch 'TheHollidayInn-groups-remove-message-when-kick' into develop

This commit is contained in:
Blade Barringer 2015-07-10 23:24:20 -05:00
commit ab1870c1aa
2 changed files with 50 additions and 0 deletions

View file

@ -98,3 +98,48 @@ describe "Chat", ->
body = res.body
expect(body.err).to.equal "Message not found!"
done()
it "removes a user's chat notifications when user is kicked", (done) ->
userToRemove = null
async.waterfall [
(cb) ->
registerManyUsers 1, cb
(members, cb) ->
userToRemove = members[0]
request.post(baseURL + "/groups/" + group._id + "/invite").send(
uuids: [userToRemove._id]
)
.end -> cb()
(cb) ->
request.post(baseURL + "/groups/" + group._id + "/join")
.set("X-API-User", userToRemove._id)
.set("X-API-Key", userToRemove.apiToken)
.end (res) -> cb()
(cb) ->
msg = "TestMsg"
request.post(baseURL + "/groups/" + group._id + "/chat?message=" + msg)
.end (res) -> cb()
(cb) ->
request.get(baseURL + "/user")
.set("X-API-User", userToRemove._id)
.set("X-API-Key", userToRemove.apiToken)
.end (res) ->
expect(res.body.newMessages[group._id]).to.exist
cb()
(cb) ->
request.post(baseURL + "/groups/" + group._id + "/removeMember?uuid=" + userToRemove._id)
.end (res) -> cb()
(cb) ->
request.get(baseURL + "/user")
.set("X-API-User", userToRemove._id)
.set("X-API-Key", userToRemove.apiToken)
.end (res) ->
expect(res.body.newMessages[group._id]).to.not.exist
cb()
], done

View file

@ -754,6 +754,11 @@ api.removeMember = function(req, res, next){
sendMessage(removedUser);
//Mark removed users messages as seen
var update = {$unset:{}};
update.$unset['newMessages.' + group._id] = '';
User.update({_id: removedUser._id, apiToken: removedUser.apiToken}, update).exec();
// Sending an empty 204 because Group.update doesn't return the group
// see http://mongoosejs.com/docs/api.html#model_Model.update
group = uuid = null;