discourse/test/javascripts/components/group-membership-button-test.js.es6

74 lines
1.6 KiB
Plaintext
Raw Normal View History

2018-06-15 23:03:24 +08:00
moduleFor("component:group-membership-button");
2016-12-07 12:06:56 +08:00
2018-06-15 23:03:24 +08:00
QUnit.test("canJoinGroup", function(assert) {
2016-12-07 12:06:56 +08:00
this.subject().setProperties({
model: { public_admission: false, is_group_user: true }
2016-12-07 12:06:56 +08:00
});
assert.equal(
2018-06-15 23:03:24 +08:00
this.subject().get("canJoinGroup"),
false,
"can't join group if public_admission is false"
);
2016-12-07 12:06:56 +08:00
this.subject().set("model.public_admission", true);
2016-12-07 12:06:56 +08:00
assert.equal(
2018-06-15 23:03:24 +08:00
this.subject().get("canJoinGroup"),
false,
"can't join group if user is already in the group"
);
2016-12-07 12:06:56 +08:00
this.subject().set("model.is_group_user", false);
2016-12-07 12:06:56 +08:00
assert.equal(
2018-06-15 23:03:24 +08:00
this.subject().get("canJoinGroup"),
true,
"allowed to join group"
);
});
2018-06-15 23:03:24 +08:00
QUnit.test("canLeaveGroup", function(assert) {
this.subject().setProperties({
model: { public_exit: false, is_group_user: false }
});
assert.equal(
2018-06-15 23:03:24 +08:00
this.subject().get("canLeaveGroup"),
false,
"can't leave group if public_exit is false"
);
this.subject().set("model.public_exit", true);
assert.equal(
2018-06-15 23:03:24 +08:00
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(
2018-06-15 23:03:24 +08:00
this.subject().get("canLeaveGroup"),
true,
"allowed to leave group"
);
2016-12-07 12:06:56 +08:00
});
2018-06-15 23:03:24 +08:00
QUnit.test("userIsGroupUser", function(assert) {
this.subject().setProperties({
model: { is_group_user: true }
});
2018-06-15 23:03:24 +08:00
assert.equal(this.subject().get("userIsGroupUser"), true);
2018-06-15 23:03:24 +08:00
this.subject().set("model.is_group_user", false);
2018-06-15 23:03:24 +08:00
assert.equal(this.subject().get("userIsGroupUser"), false);
2018-06-15 23:03:24 +08:00
this.subject().set("model.is_group_user", null);
2018-06-15 23:03:24 +08:00
assert.equal(this.subject().get("userIsGroupUser"), false);
});