diff --git a/test/api/v3/integration/chat/GET-chat.test.js b/test/api/v3/integration/chat/GET-chat.test.js index 34f4316dad..ac8b186f5d 100644 --- a/test/api/v3/integration/chat/GET-chat.test.js +++ b/test/api/v3/integration/chat/GET-chat.test.js @@ -3,6 +3,7 @@ import { createAndPopulateGroup, translate as t, } from '../../../../helpers/api-integration/v3'; +import { model as Group } from '../../../../../website/server/models/group'; describe('GET /groups/:groupId/chat', () => { let user; @@ -37,4 +38,34 @@ describe('GET /groups/:groupId/chat', () => { }); }); }); + + context('public Guild', () => { + let group; + before(async () => { + ({ group } = await createAndPopulateGroup({ + groupDetails: { + name: 'test group', + type: 'guild', + privacy: 'private', + }, + members: 1, + upgradeToGroupPlan: true, + chat: [ + 'Hello', + 'Welcome to the Guild', + ], + })); + + // Creation API is shut down, we need to simulate an extant public group + await Group.updateOne({ _id: group._id }, { $set: { privacy: 'public' }, $unset: { 'purchased.plan': 1 }}).exec(); + }); + + it('returns error if user attempts to fetch a sunset Guild', async () => { + await expect(user.get(`/groups/${group._id}/chat`)).to.eventually.be.rejected.and.eql({ + code: 400, + error: 'BadRequest', + message: t('featureRetired'), + }); + }); + }); }); diff --git a/test/api/v3/integration/chat/POST-chat.like.test.js b/test/api/v3/integration/chat/POST-chat.like.test.js index e605958be8..d5a67fa8c3 100644 --- a/test/api/v3/integration/chat/POST-chat.like.test.js +++ b/test/api/v3/integration/chat/POST-chat.like.test.js @@ -4,6 +4,7 @@ import { createAndPopulateGroup, translate as t, } from '../../../../helpers/api-integration/v3'; +import { model as Group } from '../../../../../website/server/models/group'; describe('POST /chat/:chatId/like', () => { let user; @@ -111,4 +112,18 @@ describe('POST /chat/:chatId/like', () => { message: t('groupNotFound'), }); }); + + it('does not like a message that belongs to a sunset public group', async () => { + const message = await anotherUser.post(`/groups/${groupWithChat._id}/chat`, { message: testMessage }); + + // Creation API is shut down, we need to simulate an extant public group + await Group.updateOne({ _id: groupWithChat._id }, { $set: { privacy: 'public' }, $unset: { 'purchased.plan': 1 }}).exec(); + + await expect(user.post(`/groups/${groupWithChat._id}/chat/${message.message.id}/like`)) + .to.eventually.be.rejected.and.eql({ + code: 400, + error: 'BadRequest', + message: t('featureRetired'), + }); + }); });