|
|
|
@ -737,7 +737,7 @@ describe('Groups', () => {
|
|
|
|
|
const uid1 = await User.create({ username: utils.generateUUID().slice(0, 8) });
|
|
|
|
|
const uid2 = await User.create({ username: utils.generateUUID().slice(0, 8) });
|
|
|
|
|
|
|
|
|
|
assert.rejects(apiGroups.join({ uid: uid1 }, { slug: 'test', uid: uid2 }, '[[error:not-allowed]]'));
|
|
|
|
|
await assert.rejects(apiGroups.join({ uid: uid1 }, { slug: 'test', uid: uid2 }, { message: '[[error:not-allowed]]' }));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should allow admins to join private groups', async () => {
|
|
|
|
@ -923,7 +923,7 @@ describe('Groups', () => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should error if not owner or admin', async () => {
|
|
|
|
|
assert.rejects(apiGroups.accept({ uid: 0 }, { slug: 'privatecanjoin', uid: testUid }), '[[error:no-privileges]]');
|
|
|
|
|
await assert.rejects(apiGroups.accept({ uid: 0 }, { slug: 'privatecanjoin', uid: testUid }), { message: '[[error:no-privileges]]' });
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should accept membership of user', async () => {
|
|
|
|
@ -950,7 +950,7 @@ describe('Groups', () => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should error if user is not invited', async () => {
|
|
|
|
|
assert.rejects(apiGroups.acceptInvite({ uid: adminUid }, { slug: 'privatecanjoin' }), '[[error:not-invited]]');
|
|
|
|
|
await assert.rejects(apiGroups.acceptInvite({ uid: adminUid }, { slug: 'privatecanjoin', uid: adminUid }), { message: '[[error:not-invited]]' });
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should accept invite', async () => {
|
|
|
|
@ -982,7 +982,7 @@ describe('Groups', () => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should fail to kick user with invalid data', async () => {
|
|
|
|
|
assert.rejects(apiGroups.leave({ uid: adminUid }, { slug: 'privatecanjoin', uid: 8721632 }), '[[error:group-not-member]]');
|
|
|
|
|
await assert.rejects(apiGroups.leave({ uid: adminUid }, { slug: 'privatecanjoin', uid: 8721632 }), { message: '[[error:group-not-member]]' });
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should kick user from group', async () => {
|
|
|
|
@ -992,21 +992,17 @@ describe('Groups', () => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should fail to create group with invalid data', async () => {
|
|
|
|
|
try {
|
|
|
|
|
await apiGroups.create({ uid: 0 }, {});
|
|
|
|
|
assert(false);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
assert.equal(err.message, '[[error:no-privileges]]');
|
|
|
|
|
}
|
|
|
|
|
await assert.rejects(
|
|
|
|
|
apiGroups.create({ uid: 0 }, {}),
|
|
|
|
|
{ message: '[[error:no-privileges]]' }
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should fail to create group if group creation is disabled', async () => {
|
|
|
|
|
try {
|
|
|
|
|
await apiGroups.create({ uid: testUid }, { name: 'avalidname' });
|
|
|
|
|
assert(false);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
assert.equal(err.message, '[[error:no-privileges]]');
|
|
|
|
|
}
|
|
|
|
|
await assert.rejects(
|
|
|
|
|
apiGroups.create({ uid: testUid }, { name: 'avalidname' }),
|
|
|
|
|
{ message: '[[error:no-privileges]]' }
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should fail to create group if name is privilege group', async () => {
|
|
|
|
@ -1198,17 +1194,14 @@ describe('Groups', () => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should error if user is not member', async () => {
|
|
|
|
|
assert.rejects(apiGroups.leave({ uid: adminUid }, { uid: 3, slug: 'newgroup' }), '[[error:group-not-member]]');
|
|
|
|
|
await assert.rejects(apiGroups.leave({ uid: adminUid }, { uid: 3, slug: 'newgroup' }), { message: '[[error:group-not-member]]' });
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should fail if trying to remove someone else from group', async () => {
|
|
|
|
|
let err;
|
|
|
|
|
try {
|
|
|
|
|
await apiGroups.leave({ uid: testUid }, { uid: adminUid, slug: 'newgroup' });
|
|
|
|
|
} catch (_err) {
|
|
|
|
|
err = _err;
|
|
|
|
|
}
|
|
|
|
|
assert.strictEqual(err.message, '[[error:no-privileges]]');
|
|
|
|
|
await assert.rejects(
|
|
|
|
|
apiGroups.leave({ uid: testUid }, { uid: adminUid, slug: 'newgroup' }),
|
|
|
|
|
{ message: '[[error:no-privileges]]' },
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('should remove user from group', async () => {
|
|
|
|
|