discourse/test/javascripts/lib/search-test.js

62 lines
1.6 KiB
JavaScript

import I18n from "I18n";
import {
translateResults,
searchContextDescription,
} from "discourse/lib/search";
QUnit.module("lib:search");
QUnit.test("unescapesEmojisInBlurbs", (assert) => {
const source = {
posts: [
{
id: 160,
username: "pmusaraj",
avatar_template: "/user_avatar/localhost/pmusaraj/{size}/3_2.png",
created_at: "2019-07-22T03:47:04.864Z",
like_count: 1,
blurb: ":thinking: This here is a test of emojis in search blurbs.",
post_number: 1,
topic_id: 41,
},
],
topics: [],
users: [],
categories: [],
tags: [],
groups: [],
grouped_search_result: false,
};
const results = translateResults(source);
const blurb = results.posts[0].get("blurb");
assert.ok(blurb.indexOf("thinking.png"));
assert.ok(blurb.indexOf("<img src") === 0);
assert.ok(blurb.indexOf(":thinking:") === -1);
});
QUnit.test("searchContextDescription", (assert) => {
assert.equal(
searchContextDescription("topic"),
I18n.t("search.context.topic")
);
assert.equal(
searchContextDescription("user", "silvio.dante"),
I18n.t("search.context.user", { username: "silvio.dante" })
);
assert.equal(
searchContextDescription("category", "staff"),
I18n.t("search.context.category", { category: "staff" })
);
assert.equal(
searchContextDescription("tag", "important"),
I18n.t("search.context.tag", { tag: "important" })
);
assert.equal(
searchContextDescription("private_messages"),
I18n.t("search.context.private_messages")
);
assert.equal(searchContextDescription("bad_type"), null);
});