DEV: Add compatibility with the Glimmer Post Stream (#363)
This commit is contained in:
@@ -8,38 +8,46 @@ import pretender, {
|
||||
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
|
||||
import { postStreamWithAcceptedAnswerExcerpt } from "../helpers/discourse-solved-helpers";
|
||||
|
||||
acceptance("Discourse Solved Plugin", function (needs) {
|
||||
needs.user();
|
||||
["enabled", "disabled"].forEach((postStreamMode) => {
|
||||
acceptance(
|
||||
`Discourse Solved Plugin (glimmer_post_stream_mode = ${postStreamMode})`,
|
||||
function (needs) {
|
||||
needs.settings({
|
||||
glimmer_post_stream_mode: postStreamMode,
|
||||
});
|
||||
needs.user();
|
||||
|
||||
test("A topic with an accepted answer shows an excerpt of the answer, if provided", async function (assert) {
|
||||
pretender.get("/t/11.json", () =>
|
||||
response(postStreamWithAcceptedAnswerExcerpt("this is an excerpt"))
|
||||
);
|
||||
test("A topic with an accepted answer shows an excerpt of the answer, if provided", async function (assert) {
|
||||
pretender.get("/t/11.json", () =>
|
||||
response(postStreamWithAcceptedAnswerExcerpt("this is an excerpt"))
|
||||
);
|
||||
|
||||
pretender.get("/t/12.json", () =>
|
||||
response(postStreamWithAcceptedAnswerExcerpt(null))
|
||||
);
|
||||
pretender.get("/t/12.json", () =>
|
||||
response(postStreamWithAcceptedAnswerExcerpt(null))
|
||||
);
|
||||
|
||||
await visit("/t/with-excerpt/11");
|
||||
assert.dom(".quote blockquote").hasText("this is an excerpt");
|
||||
await visit("/t/with-excerpt/11");
|
||||
assert.dom(".quote blockquote").hasText("this is an excerpt");
|
||||
|
||||
await visit("/t/without-excerpt/12");
|
||||
assert.dom(".quote blockquote").doesNotExist();
|
||||
assert.dom(".quote .title.title-only").exists();
|
||||
});
|
||||
await visit("/t/without-excerpt/12");
|
||||
assert.dom(".quote blockquote").doesNotExist();
|
||||
assert.dom(".quote .title.title-only").exists();
|
||||
});
|
||||
|
||||
test("Full page search displays solved status", async function (assert) {
|
||||
pretender.get("/search", () => {
|
||||
const fixtures = cloneJSON(fixturesByUrl["/search.json"]);
|
||||
fixtures.topics[0].has_accepted_answer = true;
|
||||
return response(fixtures);
|
||||
});
|
||||
test("Full page search displays solved status", async function (assert) {
|
||||
pretender.get("/search", () => {
|
||||
const fixtures = cloneJSON(fixturesByUrl["/search.json"]);
|
||||
fixtures.topics[0].has_accepted_answer = true;
|
||||
return response(fixtures);
|
||||
});
|
||||
|
||||
await visit("/search");
|
||||
await fillIn(".search-query", "discourse");
|
||||
await click(".search-cta");
|
||||
await visit("/search");
|
||||
await fillIn(".search-query", "discourse");
|
||||
await click(".search-cta");
|
||||
|
||||
assert.dom(".fps-topic").exists({ count: 1 }, "has one post");
|
||||
assert.dom(".topic-statuses .solved").exists("shows the right icon");
|
||||
});
|
||||
assert.dom(".fps-topic").exists({ count: 1 }, "has one post");
|
||||
assert.dom(".topic-statuses .solved").exists("shows the right icon");
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user