import { click, visit } from "@ember/test-helpers"; import { test } from "qunit"; import topicFixtures from "discourse/tests/fixtures/topic"; import { acceptance, exists } from "discourse/tests/helpers/qunit-helpers"; import { cloneJSON } from "discourse-common/lib/object"; acceptance("Discourse Foonote Plugin", function (needs) { needs.user(); needs.settings({ display_footnotes_inline: true, }); needs.pretender((server, helper) => { server.get("/t/45.json", () => { let topic = cloneJSON(topicFixtures["/t/28830/1.json"]); topic["post_stream"]["posts"][0]["cooked"] = `

Lorem ipsum dolor sit amet[1]

Second reference should also work. [1]


  1. consectetur adipiscing elit ↩︎

`; return helper.response(topic); }); }); test("displays the foonote on click", async function (assert) { await visit("/t/45"); const tooltip = document.getElementById("footnote-tooltip"); assert.ok(exists(tooltip)); await click(".expand-footnote"); assert.equal( tooltip.querySelector(".footnote-tooltip-content").textContent.trim(), "consectetur adipiscing elit ↩︎" ); }); test("clicking a second footnote with same name works", async function (assert) { await visit("/t/45"); const tooltip = document.getElementById("footnote-tooltip"); assert.ok(exists(tooltip)); await click(".second .expand-footnote"); assert.equal( tooltip.querySelector(".footnote-tooltip-content").textContent.trim(), "consectetur adipiscing elit ↩︎" ); }); });