This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/unit/controllers/admin-user-badges-test.js
Jarek Radosz a5156d18ff
DEV: Modernize controller unit tests (#17412)
Aligns controller tests with the Ember standard, by using `module` and `setupTest` instead of our custom `discourseModule`)
2022-10-14 13:15:58 +02:00

62 lines
1.5 KiB
JavaScript

import { module, test } from "qunit";
import { setupTest } from "ember-qunit";
import Badge from "discourse/models/badge";
module("Unit | Controller | admin-user-badges", function (hooks) {
setupTest(hooks);
test("grantableBadges", function (assert) {
const badgeFirst = Badge.create({
id: 3,
name: "A Badge",
enabled: true,
manually_grantable: true,
});
const badgeMiddle = Badge.create({
id: 1,
name: "My Badge",
enabled: true,
manually_grantable: true,
});
const badgeLast = Badge.create({
id: 2,
name: "Zoo Badge",
enabled: true,
manually_grantable: true,
});
const badgeDisabled = Badge.create({
id: 4,
name: "Disabled Badge",
enabled: false,
manually_grantable: true,
});
const badgeAutomatic = Badge.create({
id: 5,
name: "Automatic Badge",
enabled: true,
manually_grantable: false,
});
const controller = this.owner.lookup("controller:admin-user-badges");
controller.setProperties({
model: [],
badges: [
badgeLast,
badgeFirst,
badgeMiddle,
badgeDisabled,
badgeAutomatic,
],
});
const sortedNames = [badgeFirst.name, badgeMiddle.name, badgeLast.name];
const badgeNames = controller.grantableBadges.map((badge) => badge.name);
assert.notOk(
badgeNames.includes(badgeDisabled),
"excludes disabled badges"
);
assert.deepEqual(badgeNames, sortedNames, "sorts badges by name");
});
});