prevents a user who has had their chat privileges revoked from creating a public guild (#10205)

This commit is contained in:
Alys
2018-03-31 21:46:14 +10:00
committed by Matteo Pagliazzi
parent f3c041a561
commit bec8cb01e0
4 changed files with 43 additions and 4 deletions
@@ -136,6 +136,21 @@ describe('POST /group', () => {
},
});
});
it('returns an error when a user with no chat privileges attempts to create a public guild', async () => {
await user.update({ 'flags.chatRevoked': true });
await expect(
user.post('/groups', {
name: 'Test Public Guild',
type: 'guild',
})
).to.eventually.be.rejected.and.eql({
code: 401,
error: 'NotAuthorized',
message: t('cannotCreatePublicGuildWhenMuted'),
});
});
});
context('private guild', () => {
@@ -163,6 +178,17 @@ describe('POST /group', () => {
});
});
it('creates a private guild when the user has no chat privileges', async () => {
await user.update({ 'flags.chatRevoked': true });
let privateGuild = await user.post('/groups', {
name: groupName,
type: groupType,
privacy: groupPrivacy,
});
expect(privateGuild._id).to.exist;
});
it('deducts gems from user and adds them to guild bank', async () => {
let privateGuild = await user.post('/groups', {
name: groupName,
@@ -201,6 +227,16 @@ describe('POST /group', () => {
});
});
it('creates a party when the user has no chat privileges', async () => {
await user.update({ 'flags.chatRevoked': true });
let party = await user.post('/groups', {
name: partyName,
type: partyType,
});
expect(party._id).to.exist;
});
it('does not require gems to create a party', async () => {
await user.update({ balance: 0 });