| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- const { ObjectId } = require('../../../app/js/mongodb')
- const { expect } = require('chai')
- const ChatClient = require('./helpers/ChatClient')
- const ChatApp = require('./helpers/ChatApp')
- const db = ChatApp.db
- async function getMessage(messageId) {
- return await db.messages.findOne({
- _id: ObjectId(messageId),
- })
- }
- describe('Destroying a project', async function () {
- const projectId = ObjectId().toString()
- const userId = ObjectId().toString()
- before(async function () {
- await ChatApp.ensureRunning()
- })
- describe('with a project that has threads and messages', async function () {
- const threadId = ObjectId().toString()
- before(async function () {
- const { response } = await ChatClient.sendMessage(
- projectId,
- threadId,
- userId,
- 'destroyed thread message'
- )
- expect(response.statusCode).to.equal(201)
- this.threadMessageId = response.body.id
- const { response: response2 } = await ChatClient.sendGlobalMessage(
- projectId,
- userId,
- 'destroyed global message'
- )
- expect(response2.statusCode).to.equal(201)
- this.globalThreadMessageId = response2.body.id
- const threadRooms = await db.rooms
- .find({ project_id: ObjectId(projectId) })
- .toArray()
- expect(threadRooms.length).to.equal(2)
- const threadMessage = await getMessage(this.threadMessageId)
- expect(threadMessage).to.exist
- const globalThreadMessage = await getMessage(this.globalThreadMessageId)
- expect(globalThreadMessage).to.exist
- const { response: responseDestroy } = await ChatClient.destroyProject(
- projectId
- )
- expect(responseDestroy.statusCode).to.equal(204)
- })
- it('should remove the messages and threads from the database', async function () {
- const threadRooms = await db.rooms
- .find({ project_id: ObjectId(projectId) })
- .toArray()
- expect(threadRooms.length).to.equal(0)
- const threadMessage = await getMessage(this.threadMessageId)
- expect(threadMessage).to.be.null
- const globalThreadMessage = await getMessage(this.globalThreadMessageId)
- expect(globalThreadMessage).to.be.null
- })
- })
- })
|