Skip to content

Commit

Permalink
test: added more test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
aleksandernsilva committed Feb 4, 2025
1 parent 0242718 commit 6ef6a5d
Showing 1 changed file with 61 additions and 8 deletions.
69 changes: 61 additions & 8 deletions apps/meteor/tests/end-to-end/api/rooms.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4206,22 +4206,35 @@ describe('[Rooms]', () => {
});

describe('/rooms.close', () => {
let room: IRoom;
let roomA: IRoom;
let roomB: IRoom;
const roomName = `rooms.close.test.${Date.now()}`;
let memberA: TestUser<IUser>;
let memberB: TestUser<IUser>;
let nonMember: TestUser<IUser>;
let nonMemberCredentials: Credentials;

before(async () => {
memberA = await createUser();
memberB = await createUser();
nonMember = await createUser();
nonMemberCredentials = await login(nonMember.username, password);
});

before(async () => {
room = (await createRoom({ type: 'c', name: roomName })).body.channel;
roomA = (await createRoom({ type: 'c', name: roomName, members: [memberA.username, memberB.username] })).body.channel;
roomB = (await createRoom({ type: 'd', username: memberB.username })).body.room;
});

after(async () => {
await deleteRoom({ type: 'c', roomId: room._id });
await deleteRoom({ type: 'c', roomId: roomA._id });
});

it('should close the room', (done) => {
void request
.post(api('rooms.close'))
.set(credentials)
.send({ roomId: room._id })
.send({ roomId: roomA._id })
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
Expand All @@ -4234,7 +4247,7 @@ describe('[Rooms]', () => {
void request
.post(api('rooms.close'))
.set(credentials)
.send({ roomId: room._id })
.send({ roomId: roomA._id })
.expect('Content-Type', 'application/json')
.expect(400)
.expect((res) => {
Expand All @@ -4244,16 +4257,56 @@ describe('[Rooms]', () => {
.end(done);
});

it('should fail if roomId is not provided', async () => {
await request
it('should fail if roomId is not provided', (done) => {
void request
.post(api('rooms.close'))
.set(credentials)
.send()
.expect('Content-Type', 'application/json')
.expect(400)
.expect((res: Response) => {
expect(res.body).to.have.property('success', false);
});
})
.end(done);
});

it('should return 401 if user is not logged in', (done) => {
void request
.post(api('rooms.close'))
.expect('Content-Type', 'application/json')
.expect(401)
.expect((res) => {
expect(res.body).to.have.property('status', 'error');
expect(res.body).to.have.property('message');
})
.end(done);
});

it('should fail if user not subscribed to the room', (done) => {
void request
.post(api('rooms.close'))
.set(nonMemberCredentials)
.send({ roomId: roomA._id })
.expect('Content-Type', 'application/json')
.expect(400)
.expect((res) => {
expect(res.body).to.have.property('success', false);
expect(res.body).to.have.property('error', 'The user is not subscribed to the room');
})
.end(done);
});

it('should return forbidden if user does not have access to the room', (done) => {
void request
.post(api('rooms.close'))
.set(nonMemberCredentials)
.send({ roomId: roomB._id })
.expect('Content-Type', 'application/json')
.expect(403)
.expect((res) => {
expect(res.body).to.have.property('success', false);
})
.end(done);
});
});
});

0 comments on commit 6ef6a5d

Please sign in to comment.