discourse/plugins/chat/test/javascripts/components/collapser-test.js

46 lines
1.2 KiB
JavaScript

import componentTest, {
setupRenderingTest,
} from "discourse/tests/helpers/component-test";
import { click } from "@ember/test-helpers";
import hbs from "htmlbars-inline-precompile";
import { exists, query, visible } from "discourse/tests/helpers/qunit-helpers";
import { module } from "qunit";
import { htmlSafe } from "@ember/template";
module("Discourse Chat | Component | collapser", function (hooks) {
setupRenderingTest(hooks);
componentTest("renders header", {
template: hbs`{{collapser header=header}}`,
beforeEach() {
this.set("header", htmlSafe("<div class='cat'>tomtom</div>"));
},
async test(assert) {
const element = query(".cat");
assert.ok(exists(element));
},
});
componentTest("collapses and expands yielded body", {
template: hbs`{{#collapser}}<div class='cat'>body text</div>{{/collapser}}`,
test: async function (assert) {
const openButton = ".chat-message-collapser-closed";
const closeButton = ".chat-message-collapser-opened";
const body = ".cat";
assert.ok(visible(body));
await click(closeButton);
assert.notOk(visible(body));
await click(openButton);
assert.ok(visible(body));
},
});
});