FIX: Only enabled badges can be granted
FIX: Sort badges by displayName
This commit is contained in:
parent
4d6c99cb3d
commit
7d5e2d46c5
|
@ -56,12 +56,12 @@ export default Ember.ArrayController.extend({
|
||||||
|
|
||||||
var badges = [];
|
var badges = [];
|
||||||
this.get('badges').forEach(function(badge) {
|
this.get('badges').forEach(function(badge) {
|
||||||
if (badge.get('multiple_grant') || !granted[badge.get('id')]) {
|
if (badge.get('enabled') && (badge.get('multiple_grant') || !granted[badge.get('id')])) {
|
||||||
badges.push(badge);
|
badges.push(badge);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return _.sortBy(badges, "name");
|
return _.sortBy(badges, badge => badge.get('displayName'));
|
||||||
}.property('badges.@each', 'model.@each'),
|
}.property('badges.@each', 'model.@each'),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -5,14 +5,17 @@ moduleFor('controller:admin-user-badges', {
|
||||||
});
|
});
|
||||||
|
|
||||||
test("grantableBadges", function() {
|
test("grantableBadges", function() {
|
||||||
const badgeFirst = Badge.create({id: 3, name: "A Badge"});
|
const badgeFirst = Badge.create({id: 3, name: "A Badge", enabled: true});
|
||||||
const badgeMiddle = Badge.create({id: 1, name: "My Badge"});
|
const badgeMiddle = Badge.create({id: 1, name: "My Badge", enabled: true});
|
||||||
const badgeLast = Badge.create({id: 2, name: "Zoo Badge"});
|
const badgeLast = Badge.create({id: 2, name: "Zoo Badge", enabled: true});
|
||||||
const controller = this.subject({ badges: [badgeLast, badgeFirst, badgeMiddle] });
|
const badgeDisabled = Badge.create({id: 4, name: "Disabled Badge", enabled: false});
|
||||||
|
const controller = this.subject({ badges: [badgeLast, badgeFirst, badgeMiddle, badgeDisabled] });
|
||||||
const sortedNames = [badgeFirst.name, badgeMiddle.name, badgeLast.name];
|
const sortedNames = [badgeFirst.name, badgeMiddle.name, badgeLast.name];
|
||||||
const badgeNames = controller.get('grantableBadges').map(function(badge) {
|
const badgeNames = controller.get('grantableBadges').map(function(badge) {
|
||||||
return badge.name;
|
return badge.name;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
not(badgeNames.contains(badgeDisabled), "excludes disabled badges");
|
||||||
deepEqual(badgeNames, sortedNames, "sorts badges by name");
|
deepEqual(badgeNames, sortedNames, "sorts badges by name");
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue