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-customize-themes-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

50 lines
1.3 KiB
JavaScript

import Theme from "admin/models/theme";
import { discourseModule } from "discourse/tests/helpers/qunit-helpers";
import { test } from "qunit";
discourseModule("Unit | Controller | admin-customize-themes", function () {
test("can list themes correctly", function (assert) {
const defaultTheme = Theme.create({
id: 2,
default: true,
name: "default",
});
const userTheme = Theme.create({
id: 3,
user_selectable: true,
name: "name",
});
const strayTheme1 = Theme.create({ id: 4, name: "stray1" });
const strayTheme2 = Theme.create({ id: 5, name: "stray2" });
const componentTheme = Theme.create({
id: 6,
name: "component",
component: true,
});
const controller = this.getController("admin-customize-themes", {
model: [
strayTheme2,
strayTheme1,
userTheme,
defaultTheme,
componentTheme,
],
});
assert.deepEqual(
controller.get("fullThemes").map((t) => t.get("name")),
[strayTheme2, strayTheme1, userTheme, defaultTheme].map((t) =>
t.get("name")
),
"returns a list of themes without components"
);
assert.deepEqual(
controller.get("childThemes").map((t) => t.get("name")),
[componentTheme].map((t) => t.get("name")),
"separate components from themes"
);
});
});