discourse/plugins/chat/test/javascripts/components/chat-live-pane-test.js
Jarek Radosz dc3473fe06
DEV: Modernize chat's component tests (#19577)
1. `test()` and `render()` instead of `componentTest()`
2. Angle brackets
3. `strictEqual()`/`true()`/`false()` assertions

This removes all remaining uses of `componentTest` from core
2022-12-22 14:35:18 +01:00

45 lines
1.5 KiB
JavaScript

import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import { exists } from "discourse/tests/helpers/qunit-helpers";
import hbs from "htmlbars-inline-precompile";
import { module, test } from "qunit";
import fabricators from "../helpers/fabricators";
import { render } from "@ember/test-helpers";
import pretender, { response } from "discourse/tests/helpers/create-pretender";
import MockPresenceChannel from "../helpers/mock-presence-channel";
function mockChat(context) {
const mock = context.container.lookup("service:chat");
mock.draftStore = {};
mock.currentUser = context.currentUser;
mock.presenceChannel = MockPresenceChannel.create();
return mock;
}
module("Discourse Chat | Component | chat-live-pane", function (hooks) {
setupRenderingTest(hooks);
hooks.beforeEach(function () {
this.set("chat", mockChat(this));
this.set("channel", fabricators.chatChannel());
});
test("Shows skeleton when loading", async function (assert) {
pretender.get(`/chat/chat_channels.json`, () => response(this.channel));
pretender.get(`/chat/:id/messages.json`, () =>
response({ chat_messages: [], meta: { can_delete_self: true } })
);
await render(
hbs`<ChatLivePane @loadingMorePast={{true}} @chat={{this.chat}} @chatChannel={{this.channel}} />`
);
assert.true(exists(".chat-skeleton"));
await render(
hbs`<ChatLivePane @loadingMoreFuture={{true}} @chat={{this.chat}} @chatChannel={{this.channel}} />`
);
assert.true(exists(".chat-skeleton"));
});
});