import { module, test } from "qunit"; import { setupTest } from "ember-qunit"; import Theme from "admin/models/theme"; module("Unit | Controller | admin-customize-themes", function (hooks) { setupTest(hooks); 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.owner.lookup("controller:admin-customize-themes"); controller.setProperties({ model: [ strayTheme2, strayTheme1, userTheme, defaultTheme, componentTheme, ], }); assert.deepEqual( controller.fullThemes.map((t) => t.name), [strayTheme2, strayTheme1, userTheme, defaultTheme].map((t) => t.name), "returns a list of themes without components" ); assert.deepEqual( controller.childThemes.map((t) => t.name), [componentTheme].map((t) => t.name), "separate components from themes" ); }); });