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/unit/models/private-message-topic-tracking-state-test.js
Alan Guo Xiang Tan 085eb56ea4
DEV: Allow onStateChange callbacks for PM topic tracking state. (#14479)
The changes here are in anticipation of a private plugin that will soon
be merged into Discourse core.
2021-10-05 14:12:01 +08:00

33 lines
1000 B
JavaScript

import { test } from "qunit";
import { discourseModule } from "discourse/tests/helpers/qunit-helpers";
import MessageBus from "message-bus-client";
import PrivateMessageTopicTrackingState from "discourse/models/private-message-topic-tracking-state";
import User from "discourse/models/user";
discourseModule(
"Unit | Model | private-message-topic-tracking-state",
function (hooks) {
let pmTopicTrackingState;
hooks.beforeEach(function () {
pmTopicTrackingState = PrivateMessageTopicTrackingState.create({
messageBus: MessageBus,
currentUser: User.create({ id: 1, username: "test" }),
});
});
test("modifying state calls onStateChange callbacks", function (assert) {
let callbackCalled = false;
pmTopicTrackingState.onStateChange("testing", () => {
callbackCalled = true;
});
pmTopicTrackingState.set("isTracking", true);
pmTopicTrackingState.removeTopics([]);
assert.ok(callbackCalled);
});
}
);