mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 23:21:11 +08:00
FEATURE: Add group settngs to allow users to leave a group freely.
https://meta.discourse.org/t/split-join-leave-freely-setting-on-groups/65565
This commit is contained in:
@ -2,18 +2,52 @@ moduleFor('component:group-membership-button');
|
||||
|
||||
QUnit.test('canJoinGroup', function(assert) {
|
||||
this.subject().setProperties({
|
||||
model: { public: false }
|
||||
model: { public_admission: false, is_group_user: true }
|
||||
});
|
||||
|
||||
assert.equal(this.subject().get("canJoinGroup"), false, "non public group cannot be joined");
|
||||
assert.equal(
|
||||
this.subject().get("canJoinGroup"), false,
|
||||
"can't join group if public_admission is false"
|
||||
);
|
||||
|
||||
this.subject().set("model.public", true);
|
||||
this.subject().set("model.public_admission", true);
|
||||
|
||||
assert.equal(this.subject().get("canJoinGroup"), true, "public group can be joined");
|
||||
assert.equal(
|
||||
this.subject().get("canJoinGroup"), false,
|
||||
"can't join group if user is already in the group"
|
||||
);
|
||||
|
||||
this.subject().setProperties({ currentUser: null, model: { public: true } });
|
||||
this.subject().set("model.is_group_user", false);
|
||||
|
||||
assert.equal(this.subject().get("canJoinGroup"), true, "can't join group when not logged in");
|
||||
assert.equal(
|
||||
this.subject().get("canJoinGroup"), true,
|
||||
"allowed to join group"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test('canLeaveGroup', function(assert) {
|
||||
this.subject().setProperties({
|
||||
model: { public_exit: false, is_group_user: false }
|
||||
});
|
||||
|
||||
assert.equal(
|
||||
this.subject().get("canLeaveGroup"), false,
|
||||
"can't leave group if public_exit is false"
|
||||
);
|
||||
|
||||
this.subject().set("model.public_exit", true);
|
||||
|
||||
assert.equal(
|
||||
this.subject().get("canLeaveGroup"), false,
|
||||
"can't leave group if user is not in the group"
|
||||
);
|
||||
|
||||
this.subject().set("model.is_group_user", true);
|
||||
|
||||
assert.equal(
|
||||
this.subject().get("canLeaveGroup"), true,
|
||||
"allowed to leave group"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test('userIsGroupUser', function(assert) {
|
||||
|
Reference in New Issue
Block a user