0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-10 21:51:49 +08:00
discourse/plugins/discourse-reactions/test/javascripts/acceptance/discourse-reactions-rollback-test.js
Jarek Radosz 893fcf714b
DEV: Remove plugin names from test titles (#39418)
Those are now automatically included in testem's output.
2026-04-21 19:19:52 +02:00

45 lines
1.4 KiB
JavaScript
Vendored

import { click, visit } from "@ember/test-helpers";
import { test } from "qunit";
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
import ReactionsTopics from "../fixtures/reactions-topic-fixtures";
acceptance("API Error Rollback", function (needs) {
needs.user();
needs.settings({
discourse_reactions_enabled: true,
discourse_reactions_enabled_reactions: "otter|open_mouth",
discourse_reactions_reaction_for_like: "heart",
discourse_reactions_like_icon: "heart",
});
needs.pretender((server, helper) => {
const topicPath = "/t/374.json";
server.get(topicPath, () => helper.response(ReactionsTopics[topicPath]));
server.put(
"/discourse-reactions/posts/:post_id/custom-reactions/:reaction/toggle.json",
() => helper.response(403, { errors: ["forbidden"] })
);
});
test("reverts reaction state when API call fails", async function (assert) {
await visit("/t/topic_with_reactions_and_likes/374");
const initialCount = document
.querySelector("#post_2 .reactions-counter")
?.textContent?.trim();
await click("#post_2 .btn-toggle-reaction-like");
const finalCount = document
.querySelector("#post_2 .reactions-counter")
?.textContent?.trim();
assert.strictEqual(
finalCount,
initialCount,
"reaction count reverts after API failure"
);
});
});