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

62 lines
1.7 KiB
Plaintext
Raw Normal View History

2016-12-07 12:06:56 +08:00
import { currentUser } from "helpers/qunit-helpers";
2016-12-15 16:52:47 +08:00
moduleFor('component:group-membership-button');
2016-12-07 12:06:56 +08:00
2016-12-15 16:52:47 +08:00
test('canJoinGroup', function() {
2016-12-07 12:06:56 +08:00
this.subject().setProperties({
model: { public: false }
});
equal(this.subject().get("canJoinGroup"), false, "non public group cannot be joined");
this.subject().set("model.public", true);
equal(this.subject().get("canJoinGroup"), true, "public group can be joined");
this.subject().setProperties({ currentUser: null, model: { public: true } });
2016-12-29 13:46:56 +08:00
equal(this.subject().get("canJoinGroup"), true, "can't join group when not logged in");
2016-12-07 12:06:56 +08:00
});
test('canRequestMembership', function() {
this.subject().setProperties({
model: { allow_membership_requests: false, alias_level: 0 }
2016-12-12 22:52:57 +08:00
});
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);
});
test('userIsGroupUser', function() {
this.subject().setProperties({
model: { is_group_user: true }
});
equal(this.subject().get('userIsGroupUser'), true);
this.subject().set('model.is_group_user', false);
equal(this.subject().get('userIsGroupUser'), false);
this.subject().setProperties({ model: { id: 1 }, groupUserIds: [1] });
equal(this.subject().get('userIsGroupUser'), true);
this.subject().set('groupUserIds', [3]);
equal(this.subject().get('userIsGroupUser'), false);
this.subject().set('groupUserIds', undefined);
equal(this.subject().get('userIsGroupUser'), false);
});