Since we want to run them in the core app they've been moved into the `tests` directory for discourse, and updated to the latest format.
58 lines
1.5 KiB
JavaScript
58 lines
1.5 KiB
JavaScript
import Badge from "discourse/models/badge";
|
|
import { discourseModule } from "discourse/tests/helpers/qunit-helpers";
|
|
import { test } from "qunit";
|
|
|
|
discourseModule("Unit | Controller | admin-user-badges", function () {
|
|
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.getController("admin-user-badges", {
|
|
model: [],
|
|
badges: [
|
|
badgeLast,
|
|
badgeFirst,
|
|
badgeMiddle,
|
|
badgeDisabled,
|
|
badgeAutomatic,
|
|
],
|
|
});
|
|
|
|
const sortedNames = [badgeFirst.name, badgeMiddle.name, badgeLast.name];
|
|
const badgeNames = controller.get("grantableBadges").map(function (badge) {
|
|
return badge.name;
|
|
});
|
|
|
|
assert.not(badgeNames.includes(badgeDisabled), "excludes disabled badges");
|
|
assert.deepEqual(badgeNames, sortedNames, "sorts badges by name");
|
|
});
|
|
});
|