discourse/plugins/chat/test/javascripts/unit/services/chat-drafts-manager-test.js
Jarek Radosz 038e5deb2a
DEV: Clean up imports (#28060)
* `@ember/owner` instead of `@ember/application`
* `discourse-i18n` instead of `I18n`
* `{ service } from "@ember/service"` instead of `inject as service`
2024-07-25 15:09:06 +02:00

42 lines
1.3 KiB
JavaScript

import { getOwner } from "@ember/owner";
import { setupTest } from "ember-qunit";
import { module, test } from "qunit";
import ChatFabricators from "discourse/plugins/chat/discourse/lib/fabricators";
module(
"Discourse Chat | Unit | Service | chat-drafts-manager",
function (hooks) {
setupTest(hooks);
hooks.beforeEach(function () {
this.subject = getOwner(this).lookup("service:chat-drafts-manager");
});
test("storing and retrieving message", async function (assert) {
const message1 = new ChatFabricators(getOwner(this)).message();
await this.subject.add(message1, message1.channel.id);
assert.strictEqual(this.subject.get(message1.channel.id), message1);
const message2 = new ChatFabricators(getOwner(this)).message();
await this.subject.add(message2, message2.channel.id);
assert.strictEqual(this.subject.get(message2.channel.id), message2);
});
test("#reset", async function (assert) {
const message = new ChatFabricators(getOwner(this)).message();
await this.subject.add(message, message.channel.id);
assert.strictEqual(Object.keys(this.subject.drafts).length, 1);
this.subject.reset();
assert.strictEqual(Object.keys(this.subject.drafts).length, 0);
});
}
);