FEATURE: Add request membership button for allowed groups.

This commit is contained in:
Guo Xiang Tan
2016-12-12 22:46:45 +08:00
parent 664feca199
commit da7009a968
17 changed files with 172 additions and 16 deletions
@@ -53,5 +53,19 @@ test("Admin Browsing Groups", () => {
ok(find('.edit-group-bio').length === 1, 'it should display group bio input');
ok(find('.edit-group-title').length === 1, 'it should display group title input');
ok(find('.edit-group-public').length === 1, 'it should display group public input');
ok(find('.edit-group-allow-membership-requests').length === 1, 'it should display group allow_membership_requets input');
});
click('.edit-group-public');
andThen(() => {
ok(find('.edit-group-allow-membership-requests[disabled]').length === 1, 'it should disable group allow_membership_requets input');
});
click('.edit-group-public');
click('.edit-group-allow-membership-requests');
andThen(() => {
ok(find('.edit-group-public[disabled]').length === 1, 'it should disable group public input');
});
});
@@ -0,0 +1,33 @@
moduleFor("controller:admin-group");
test("disablePublicSetting", function() {
this.subject().setProperties({
model: { visible: false, allow_membership_requests: false }
});
equal(this.subject().get("disablePublicSetting"), true, "it should disable setting");
this.subject().set("model.visible", true);
equal(this.subject().get("disablePublicSetting"), false, "it should enable setting");
this.subject().set("model.allow_membership_requests", true);
equal(this.subject().get("disablePublicSetting"), true, "it should disable setting");
});
test("disableMembershipRequestSetting", function() {
this.subject().setProperties({
model: { visible: false, public: false, canEveryoneMention: true }
});
equal(this.subject().get("disableMembershipRequestSetting"), true, "it should disable setting");
this.subject().set("model.visible", true);
equal(this.subject().get("disableMembershipRequestSetting"), false, "it should enable setting");
this.subject().set("model.public", true);
equal(this.subject().get("disableMembershipRequestSetting"), true, "it should disalbe setting");
});
@@ -19,3 +19,21 @@ test("canJoinGroup", function() {
equal(this.subject().get("canJoinGroup"), false, "can't join group when not logged in");
});
test('canRequestMembership', function() {
this.subject().setProperties({
model: { allow_membership_requests: false, alias_level: 0 }
})
equal(this.subject().get('canRequestMembership'), false);
this.subject().setProperties({
currentUser: currentUser(), model: { allow_membership_requests: true, alias_level: 99 }
});
equal(this.subject().get('canRequestMembership'), true);
this.subject().set("model.alias_level", 0);
equal(this.subject().get('canRequestMembership'), false);
});