mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-04 03:30:38 +08:00
91 lines
3 KiB
JavaScript
91 lines
3 KiB
JavaScript
import { visit } from "@ember/test-helpers";
|
||
import { test } from "qunit";
|
||
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
|
||
import { i18n } from "discourse-i18n";
|
||
|
||
acceptance("List Queries", function (needs) {
|
||
needs.user();
|
||
needs.settings({ data_explorer_enabled: true });
|
||
|
||
needs.pretender((server, helper) => {
|
||
server.get("/admin/plugins/discourse-data-explorer.json", () => {
|
||
return helper.response({
|
||
id: "discourse-data-explorer",
|
||
name: "discourse-data-explorer",
|
||
enabled: true,
|
||
has_settings: true,
|
||
humanized_name: "Data Explorer",
|
||
is_discourse_owned: true,
|
||
admin_route: {
|
||
label: "explorer.title",
|
||
location: "discourse-data-explorer",
|
||
use_new_show_route: true,
|
||
},
|
||
});
|
||
});
|
||
|
||
server.get("/admin/plugins/discourse-data-explorer/groups.json", () => {
|
||
return helper.response([]);
|
||
});
|
||
|
||
server.get("/admin/plugins/discourse-data-explorer/queries", () => {
|
||
return helper.response({
|
||
queries: [
|
||
{
|
||
id: -6,
|
||
name: "Top 100 Likers",
|
||
description:
|
||
"returns the top 100 likers for a given monthly period ordered by like_count. It accepts a ‘months_ago’ parameter, defaults to 1 to give results for the last calendar month.",
|
||
username: "system",
|
||
group_ids: [],
|
||
last_run_at: "2021-02-11T08:29:59.337Z",
|
||
user_id: -1,
|
||
},
|
||
{
|
||
id: -5,
|
||
name: "Top 100 Active Topics",
|
||
description:
|
||
"based on the number of replies, it accepts a ‘months_ago’ parameter, defaults to 1 to give results for the last calendar month.",
|
||
username: "system",
|
||
group_ids: [],
|
||
last_run_at: "2021-02-08T15:37:49.188Z",
|
||
user_id: -1,
|
||
},
|
||
],
|
||
total_rows_queries: 2,
|
||
});
|
||
});
|
||
});
|
||
|
||
test("renders the page with the list of queries", async function (assert) {
|
||
await visit("/admin/plugins/discourse-data-explorer/queries");
|
||
|
||
assert
|
||
.dom(".admin-filter-controls__input")
|
||
.hasAttribute(
|
||
"placeholder",
|
||
i18n("explorer.search_placeholder"),
|
||
"the search box was rendered"
|
||
);
|
||
|
||
assert
|
||
.dom(".d-page-subheader .btn-primary")
|
||
.exists("the add query button was rendered");
|
||
|
||
assert
|
||
.dom(".d-page-subheader .d-page-action-wrapped-button")
|
||
.hasText(i18n("explorer.import.label"), "the import button was rendered");
|
||
|
||
assert
|
||
.dom("div.container table.recent-queries tbody tr")
|
||
.exists({ count: 2 }, "the list of queries was rendered");
|
||
|
||
assert
|
||
.dom("div.container table.recent-queries tbody tr:nth-child(1) td")
|
||
.hasText(/^\s*Top 100 Likers/, "The first query was rendered");
|
||
|
||
assert
|
||
.dom("div.container table.recent-queries tbody tr:nth-child(2) td")
|
||
.hasText(/^\s*Top 100 Active Topics/, "The second query was rendered");
|
||
});
|
||
});
|