discourse/test/javascripts/acceptance/dashboard-next-test.js.es6

115 lines
2.9 KiB
JavaScript

import { acceptance } from "helpers/qunit-helpers";
acceptance("Dashboard Next", {
loggedIn: true,
settings: {
dashboard_general_tab_activity_metrics: "page_view_total_reqs"
}
});
QUnit.test("Dashboard", async assert => {
await visit("/admin");
assert.ok(exists(".dashboard-next"), "has dashboard-next class");
});
QUnit.test("tabs", async assert => {
await visit("/admin");
assert.ok(exists(".dashboard-next .navigation-item.general"), "general tab");
assert.ok(
exists(".dashboard-next .navigation-item.moderation"),
"moderation tab"
);
assert.ok(
exists(".dashboard-next .navigation-item.security"),
"security tab"
);
assert.ok(exists(".dashboard-next .navigation-item.reports"), "reports tab");
});
QUnit.test("general tab", async assert => {
await visit("/admin");
assert.ok(exists(".admin-report.signups"), "signups report");
assert.ok(exists(".admin-report.posts"), "posts report");
assert.ok(exists(".admin-report.dau-by-mau"), "dau-by-mau report");
assert.ok(
exists(".admin-report.daily-engaged-users"),
"daily-engaged-users report"
);
assert.ok(
exists(".admin-report.new-contributors"),
"new-contributors report"
);
assert.equal(
$(".section.dashboard-problems .problem-messages ul li:first-child")
.html()
.trim(),
"Houston...",
"displays problems"
);
});
QUnit.test("general tab - activity metrics", async assert => {
await visit("/admin");
assert.equal(
$(".admin-report.page-view-total-reqs .today-count")
.text()
.trim(),
"1.1k"
);
assert.equal(
$(".admin-report.page-view-total-reqs .yesterday-count")
.text()
.trim(),
"2.5k"
);
assert.equal(
$(".admin-report.page-view-total-reqs .sevendays-count")
.text()
.trim(),
"18.6k"
);
assert.equal(
$(".admin-report.page-view-total-reqs .thirty-days-count")
.text()
.trim(),
"80.8k"
);
});
QUnit.test("reports tab", async assert => {
await visit("/admin");
await click(".dashboard-next .navigation-item.reports .navigation-link");
assert.equal(
find(".dashboard-next .reports-index.section .reports-list .report").length,
1
);
await fillIn(".dashboard-next .filter-reports-input", "flags");
assert.equal(
find(".dashboard-next .reports-index.section .reports-list .report").length,
0
);
await click(".dashboard-next .navigation-item.security .navigation-link");
await click(".dashboard-next .navigation-item.reports .navigation-link");
assert.equal(
find(".dashboard-next .reports-index.section .reports-list .report").length,
1,
"navigating back and forth resets filter"
);
await fillIn(".dashboard-next .filter-reports-input", "activities");
assert.equal(
find(".dashboard-next .reports-index.section .reports-list .report").length,
1,
"filter is case insensitive"
);
});