mirror of
https://github.com/discourse/discourse.git
synced 2024-12-12 07:15:48 +08:00
45 lines
1.5 KiB
JavaScript
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`{{chat-live-pane loadingMorePast=true chat=chat chatChannel=channel}}`
|
||
|
);
|
||
|
|
||
|
assert.ok(exists(".chat-skeleton"));
|
||
|
|
||
|
await render(
|
||
|
hbs`{{chat-live-pane loadingMoreFuture=true chat=chat chatChannel=channel}}`
|
||
|
);
|
||
|
|
||
|
assert.ok(exists(".chat-skeleton"));
|
||
|
});
|
||
|
});
|