mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-08 12:24:12 +08:00
Bumps the lint group with 4 updates in the / directory: [@discourse/lint-configs](https://github.com/discourse/lint-configs), [ember-template-lint](https://github.com/ember-template-lint/ember-template-lint), [eslint](https://github.com/eslint/eslint) and [stylelint](https://github.com/stylelint/stylelint). Updates `@discourse/lint-configs` from 2.22.0 to 2.28.0 - [Commits](https://github.com/discourse/lint-configs/commits) Updates `ember-template-lint` from 7.7.0 to 7.9.1 - [Release notes](https://github.com/ember-template-lint/ember-template-lint/releases) - [Changelog](https://github.com/ember-template-lint/ember-template-lint/blob/master/CHANGELOG.md) - [Commits](https://github.com/ember-template-lint/ember-template-lint/commits) Updates `eslint` from 9.27.0 to 9.32.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v9.27.0...v9.32.0) Updates `stylelint` from 16.19.1 to 16.22.0 - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/16.19.1...16.22.0) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Discourse CI <ci@ci.invalid> Co-authored-by: Jarek Radosz <jarek@cvx.dev>
72 lines
2.5 KiB
JavaScript
72 lines
2.5 KiB
JavaScript
import { setupTest } from "ember-qunit";
|
|
import { module, test } from "qunit";
|
|
import { withPluginApi } from "discourse/lib/plugin-api";
|
|
import pretender from "discourse/tests/helpers/create-pretender";
|
|
import { logIn } from "discourse/tests/helpers/qunit-helpers";
|
|
import ChatMessageInteractor, {
|
|
resetRemovedChatComposerSecondaryActions,
|
|
} from "discourse/plugins/chat/discourse/lib/chat-message-interactor";
|
|
import ChatFabricators from "discourse/plugins/chat/discourse/lib/fabricators";
|
|
|
|
module("Chat | Unit | Utility | plugin-api", function (hooks) {
|
|
setupTest(hooks);
|
|
|
|
test("#sendChatMessage", async function (assert) {
|
|
const done = assert.async();
|
|
|
|
pretender.post("/chat/1", (request) => {
|
|
assert.strictEqual(request.url, "/chat/1");
|
|
assert.strictEqual(request.requestBody, "thread_id=2&message=hello");
|
|
done();
|
|
return [200, {}, {}];
|
|
});
|
|
|
|
withPluginApi(async (api) => {
|
|
await api.sendChatMessage(1, { message: "hello", threadId: 2 });
|
|
});
|
|
});
|
|
|
|
test("#removeChatComposerSecondaryActions", async function (assert) {
|
|
withPluginApi(async (api) => {
|
|
// assert that the api method is defined
|
|
assert.strictEqual(
|
|
typeof api.removeChatComposerSecondaryActions,
|
|
"function"
|
|
);
|
|
|
|
const user = logIn(this.owner);
|
|
const message = new ChatFabricators(this.owner).message({ user });
|
|
const interactor = new ChatMessageInteractor(
|
|
this.owner,
|
|
message,
|
|
"channel"
|
|
);
|
|
|
|
// assert that the initial secondary actions are present
|
|
const secondaryActions = interactor.secondaryActions;
|
|
assert.true(secondaryActions.length > 0);
|
|
|
|
try {
|
|
// remove the first secondary action listed
|
|
api.removeChatComposerSecondaryActions(secondaryActions[0].id);
|
|
|
|
const updatedSecondaryActions = interactor.secondaryActions;
|
|
|
|
// assert that the secondary action was removed
|
|
assert.true(
|
|
updatedSecondaryActions.length < secondaryActions.length,
|
|
"the updated secondary actions must contain less items than the original"
|
|
);
|
|
assert.false(
|
|
updatedSecondaryActions
|
|
.map((v) => v.id)
|
|
.includes(secondaryActions[0]),
|
|
"the updated secondary actions must not include the removed action"
|
|
);
|
|
} finally {
|
|
// reset the secondary actions removed to prevent leakage to other tests
|
|
resetRemovedChatComposerSecondaryActions();
|
|
}
|
|
});
|
|
});
|
|
});
|