| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { ObjectId } from '../../../app/js/mongodb.js'
- import { expect } from 'chai'
- import * as ChatClient from './helpers/ChatClient.js'
- import * as ChatApp from './helpers/ChatApp.js'
- const db = ChatApp.db
- async function getMessage(messageId) {
- return await db.messages.findOne({
- _id: new ObjectId(messageId),
- })
- }
- describe('Destroying a project', async function () {
- const projectId = new ObjectId().toString()
- const userId = new ObjectId().toString()
- before(async function () {
- await ChatApp.ensureRunning()
- })
- describe('with a project that has threads and messages', async function () {
- const threadId = new 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: new 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: new 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
- })
- })
- })
|