import selectKit from "helpers/select-kit-helper"; import { acceptance } from "helpers/qunit-helpers"; acceptance("Dashboard", { loggedIn: true, settings: { dashboard_visible_tabs: "moderation|security|reports", dashboard_general_tab_activity_metrics: "page_view_total_reqs", }, site: { groups: [ { id: 88, name: "tl1", }, { id: 89, name: "tl2", }, ], }, }); QUnit.test("default", async (assert) => { await visit("/admin"); assert.ok(exists(".dashboard"), "has dashboard-next class"); }); QUnit.test("tabs", async (assert) => { await visit("/admin"); assert.ok(exists(".dashboard .navigation-item.general"), "general tab"); assert.ok(exists(".dashboard .navigation-item.moderation"), "moderation tab"); assert.ok(exists(".dashboard .navigation-item.security"), "security tab"); assert.ok(exists(".dashboard .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("activity metrics", async (assert) => { await visit("/admin"); assert.ok(exists(".admin-report.page-view-total-reqs .today-count")); assert.ok(exists(".admin-report.page-view-total-reqs .yesterday-count")); assert.ok(exists(".admin-report.page-view-total-reqs .sevendays-count")); assert.ok(exists(".admin-report.page-view-total-reqs .thirty-days-count")); }); QUnit.test("reports tab", async (assert) => { await visit("/admin"); await click(".dashboard .navigation-item.reports .navigation-link"); assert.equal( find(".dashboard .reports-index.section .reports-list .report").length, 1 ); await fillIn(".dashboard .filter-reports-input", "flags"); assert.equal( find(".dashboard .reports-index.section .reports-list .report").length, 0 ); await click(".dashboard .navigation-item.security .navigation-link"); await click(".dashboard .navigation-item.reports .navigation-link"); assert.equal( find(".dashboard .reports-index.section .reports-list .report").length, 1, "navigating back and forth resets filter" ); await fillIn(".dashboard .filter-reports-input", "activities"); assert.equal( find(".dashboard .reports-index.section .reports-list .report").length, 1, "filter is case insensitive" ); }); QUnit.test("reports filters", async (assert) => { await visit( '/admin/reports/signups_with_groups?end_date=2018-07-16&filters=%7B"group"%3A88%7D&start_date=2018-06-16' ); const groupFilter = selectKit(".group-filter .combo-box"); assert.equal( groupFilter.header().value(), 88, "its set the value of the filter from the query params" ); }); acceptance("Dashboard: dashboard_visible_tabs", { loggedIn: true, settings: { dashboard_visible_tabs: "general|security|reports", }, }); QUnit.test("visible tabs", async (assert) => { await visit("/admin"); assert.ok(exists(".dashboard .navigation-item.general"), "general tab"); assert.notOk( exists(".dashboard .navigation-item.moderation"), "moderation tab" ); assert.ok(exists(".dashboard .navigation-item.security"), "security tab"); assert.ok(exists(".dashboard .navigation-item.reports"), "reports tab"); }); acceptance("Dashboard: dashboard_hidden_reports", { loggedIn: true, settings: { dashboard_visible_tabs: "reports", dashboard_hidden_reports: "posts|dau_by_mau", }, }); QUnit.test("hidden reports", async (assert) => { await visit("/admin"); assert.ok(exists(".admin-report.signups.is-visible"), "signups report"); assert.notOk(exists(".admin-report.is-visible.posts"), "posts report"); assert.notOk( exists(".admin-report.is-visible.dau-by-mau"), "dau-by-mau report" ); });