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/acceptance/plugin-outlet-multi-template-test.js
David Taylor 9f022112e3
DEV: Support theme/plugin overrides of colocated component templates (#19237)
To theme/plugin developers, the process is the same as for overriding non-colocated component templates. Once merged, this should allow us to seamlessly convert all of core's component templates to be colocated.
2022-11-30 14:14:38 +00:00

49 lines
1.3 KiB
JavaScript

import {
acceptance,
count,
query,
} from "discourse/tests/helpers/qunit-helpers";
import { hbs } from "ember-cli-htmlbars";
import { test } from "qunit";
import { visit } from "@ember/test-helpers";
import { registerTemporaryModule } from "../helpers/temporary-module-helper";
const HELLO =
"discourse/plugins/my-plugin/templates/connectors/user-profile-primary/hello";
const GOODBYE =
"discourse/plugins/my-plugin/templates/connectors/user-profile-primary/goodbye";
acceptance("Plugin Outlet - Multi Template", function (needs) {
needs.hooks.beforeEach(() => {
registerTemporaryModule(HELLO, hbs`<span class='hello-span'>Hello</span>`);
registerTemporaryModule(
GOODBYE,
hbs`<span class='bye-span'>Goodbye</span>`
);
});
test("Renders a template into the outlet", async function (assert) {
await visit("/u/eviltrout");
assert.strictEqual(
count(".user-profile-primary-outlet.hello"),
1,
"it has class names"
);
assert.strictEqual(
count(".user-profile-primary-outlet.goodbye"),
1,
"it has class names"
);
assert.strictEqual(
query(".hello-span").innerText,
"Hello",
"it renders into the outlet"
);
assert.strictEqual(
query(".bye-span").innerText,
"Goodbye",
"it renders into the outlet"
);
});
});