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
Robin Ward 11e6e9cca2
FIX: Tests in admin/tests were not running (#12391)
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.
2021-03-17 13:02:12 -04:00

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");
});
});