mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 14:17:22 +01:00
74 lines
2.0 KiB
CoffeeScript
74 lines
2.0 KiB
CoffeeScript
'use strict'
|
|
|
|
diff = require("deep-diff")
|
|
|
|
Group = require("../../website/src/models/group").model
|
|
app = require("../../website/src/server")
|
|
|
|
describe "Chat", ->
|
|
group = undefined
|
|
before (done) ->
|
|
async.waterfall [
|
|
(cb) ->
|
|
registerNewUser(cb, true)
|
|
|
|
(user, cb) ->
|
|
request.post(baseURL + "/groups").send(
|
|
name: "TestGroup"
|
|
type: "party"
|
|
).end (err, res) ->
|
|
expectCode res, 200
|
|
group = res.body
|
|
expect(group.members.length).to.equal 1
|
|
expect(group.leader).to.equal user._id
|
|
cb()
|
|
|
|
], done
|
|
|
|
chat = undefined
|
|
|
|
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 (err, res) -> cb()
|
|
|
|
(cb) ->
|
|
msg = "TestMsg"
|
|
request.post(baseURL + "/groups/" + group._id + "/chat?message=" + msg)
|
|
.end (err, res) -> cb()
|
|
|
|
(cb) ->
|
|
request.get(baseURL + "/user")
|
|
.set("X-API-User", userToRemove._id)
|
|
.set("X-API-Key", userToRemove.apiToken)
|
|
.end (err, res) ->
|
|
expect(res.body.newMessages[group._id]).to.exist
|
|
cb()
|
|
|
|
(cb) ->
|
|
request.post(baseURL + "/groups/" + group._id + "/removeMember?uuid=" + userToRemove._id)
|
|
.end (err, res) -> cb()
|
|
|
|
(cb) ->
|
|
request.get(baseURL + "/user")
|
|
.set("X-API-User", userToRemove._id)
|
|
.set("X-API-Key", userToRemove.apiToken)
|
|
.end (err, res) ->
|
|
expect(res.body.newMessages[group._id]).to.not.exist
|
|
cb()
|
|
], done
|