2016-12-15 03:52:47 -05:00
|
|
|
moduleFor("component:group-membership-button");
|
2016-12-06 23:06:56 -05:00
|
|
|
|
2017-06-14 13:57:58 -04:00
|
|
|
QUnit.test("canJoinGroup", function(assert) {
|
2016-12-06 23:06:56 -05:00
|
|
|
this.subject().setProperties({
|
2017-07-27 22:37:10 -04:00
|
|
|
model: { public_admission: false, is_group_user: true }
|
2016-12-06 23:06:56 -05:00
|
|
|
});
|
|
|
|
|
2017-07-27 22:37:10 -04:00
|
|
|
assert.equal(
|
|
|
|
this.subject().get("canJoinGroup"),
|
|
|
|
false,
|
|
|
|
"can't join group if public_admission is false"
|
|
|
|
);
|
2016-12-06 23:06:56 -05:00
|
|
|
|
2017-07-27 22:37:10 -04:00
|
|
|
this.subject().set("model.public_admission", true);
|
2016-12-06 23:06:56 -05:00
|
|
|
|
2017-07-27 22:37:10 -04:00
|
|
|
assert.equal(
|
|
|
|
this.subject().get("canJoinGroup"),
|
|
|
|
false,
|
|
|
|
"can't join group if user is already in the group"
|
|
|
|
);
|
2016-12-06 23:06:56 -05:00
|
|
|
|
2017-07-27 22:37:10 -04:00
|
|
|
this.subject().set("model.is_group_user", false);
|
2016-12-06 23:06:56 -05:00
|
|
|
|
2017-07-27 22:37:10 -04:00
|
|
|
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"
|
|
|
|
);
|
2016-12-06 23:06:56 -05:00
|
|
|
});
|
2016-12-12 09:46:45 -05:00
|
|
|
|
2018-12-24 03:19:05 -05:00
|
|
|
QUnit.test("canRequestMembership", function(assert) {
|
|
|
|
this.subject().setProperties({
|
|
|
|
model: { allow_membership_requests: true, is_group_user: true }
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.equal(
|
|
|
|
this.subject().get("canRequestMembership"),
|
|
|
|
false,
|
|
|
|
"can't request for membership if user is already in the group"
|
|
|
|
);
|
|
|
|
|
|
|
|
this.subject().set("model.is_group_user", false);
|
|
|
|
|
|
|
|
assert.equal(
|
|
|
|
this.subject().get("canRequestMembership"),
|
|
|
|
true,
|
|
|
|
"allowed to request for group membership"
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
2017-06-14 13:57:58 -04:00
|
|
|
QUnit.test("userIsGroupUser", function(assert) {
|
2017-01-03 01:36:56 -05:00
|
|
|
this.subject().setProperties({
|
|
|
|
model: { is_group_user: true }
|
|
|
|
});
|
|
|
|
|
2017-06-14 13:57:58 -04:00
|
|
|
assert.equal(this.subject().get("userIsGroupUser"), true);
|
2017-01-03 01:36:56 -05:00
|
|
|
|
|
|
|
this.subject().set("model.is_group_user", false);
|
|
|
|
|
2017-06-14 13:57:58 -04:00
|
|
|
assert.equal(this.subject().get("userIsGroupUser"), false);
|
2017-01-03 01:36:56 -05:00
|
|
|
|
2018-03-19 06:47:17 -04:00
|
|
|
this.subject().set("model.is_group_user", null);
|
2017-03-15 23:33:55 -04:00
|
|
|
|
2017-06-14 13:57:58 -04:00
|
|
|
assert.equal(this.subject().get("userIsGroupUser"), false);
|
2017-01-03 01:36:56 -05:00
|
|
|
});
|