mirror of
https://github.com/discourse/discourse-data-explorer.git
synced 2025-08-01 18:43:27 +00:00
The `category_id` parameter now includes the *(no category)* option, which allows clearing a previously selected category. The *(no category)* option is selected by default. --------- Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
75 lines
2.5 KiB
JavaScript
75 lines
2.5 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("Data Explorer Plugin | List Queries", function (needs) {
|
||
needs.user();
|
||
needs.settings({ data_explorer_enabled: true });
|
||
|
||
needs.pretender((server, helper) => {
|
||
server.get("/admin/plugins/explorer/groups.json", () => {
|
||
return helper.response([]);
|
||
});
|
||
|
||
server.get("/admin/plugins/explorer/queries", () => {
|
||
return helper.response({
|
||
queries: [
|
||
{
|
||
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,
|
||
},
|
||
{
|
||
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,
|
||
},
|
||
],
|
||
});
|
||
});
|
||
});
|
||
|
||
test("renders the page with the list of queries", async function (assert) {
|
||
await visit("/admin/plugins/explorer");
|
||
|
||
assert
|
||
.dom("div.query-list input.ember-text-field")
|
||
.hasAttribute(
|
||
"placeholder",
|
||
i18n("explorer.search_placeholder"),
|
||
"the search box was rendered"
|
||
);
|
||
|
||
assert
|
||
.dom("div.query-list button.btn-icon svg.d-icon-plus")
|
||
.exists("the add query button was rendered");
|
||
|
||
assert
|
||
.dom("div.query-list button.btn-icon-text span.d-button-label")
|
||
.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 a")
|
||
.hasText(/^\s*Top 100 Likers/, "The first query was rendered");
|
||
|
||
assert
|
||
.dom("div.container table.recent-queries tbody tr:nth-child(2) td a")
|
||
.hasText(/^\s*Top 100 Active Topics/, "The second query was rendered");
|
||
});
|
||
});
|