groupMembers: add unique constraint

fixes #696
This commit is contained in:
Girish Ramakrishnan
2020-12-22 10:34:19 -08:00
parent b2fe43184c
commit 246956fd0e
7 changed files with 84 additions and 21 deletions
+22 -1
View File
@@ -224,6 +224,13 @@ describe('Group membership', function () {
});
});
it('cannot add same member again', function (done) {
groups.addMember(group0Object.id, USER_0.id, function (error) {
expect(error.reason).to.be(BoxError.ALREADY_EXISTS);
done();
});
});
it('can add member without username', function (done) {
groups.addMember(group0Object.id, USER_1.id, function (error) {
expect(error).to.be(null);
@@ -270,13 +277,20 @@ describe('Group membership', function () {
});
});
it('can set groups', function (done) {
it('can set members', function (done) {
groups.setMembers(group0Object.id, [ USER_0.id ], function (error) {
expect(error).to.be(null);
done();
});
});
it('cannot set duplicate members', function (done) {
groups.setMembers(group0Object.id, [ USER_0.id, USER_0.id ], function (error) {
expect(error.reason).to.be(BoxError.CONFLICT);
done();
});
});
it('can remove member', function (done) {
groups.removeMember(group0Object.id, USER_0.id, function (error) {
expect(error).to.be(null);
@@ -352,6 +366,13 @@ describe('Set user groups', function () {
});
});
it('cannot set user to same group twice', function (done) {
groups.setMembership(USER_0.id, [ group0Object.id, group0Object.id ], function (error) {
expect(error.reason).to.be(BoxError.CONFLICT);
done();
});
});
it('can set user to multiple groups', function (done) {
groups.setMembership(USER_0.id, [ group0Object.id, group1Object.id ], function (error) {
expect(error).to.be(null);