mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 17:33:27 +08:00
FEATURE: part 2 of dashboard improvements
- moderation tab - sorting/pagination - improved third party reports support - trending charts - better perf - many fixes - refactoring - new reports Co-Authored-By: Simon Cossar <scossar@users.noreply.github.com>
This commit is contained in:
130
test/javascripts/components/admin-report-test.js.es6
Normal file
130
test/javascripts/components/admin-report-test.js.es6
Normal file
@ -0,0 +1,130 @@
|
||||
import componentTest from "helpers/component-test";
|
||||
|
||||
moduleForComponent("admin-report", {
|
||||
integration: true
|
||||
});
|
||||
|
||||
componentTest("default", {
|
||||
template: "{{admin-report dataSourceName='signups'}}",
|
||||
|
||||
test(assert) {
|
||||
andThen(() => {
|
||||
assert.ok(exists(".admin-report.signups"));
|
||||
|
||||
assert.ok(
|
||||
exists(".admin-report.table.signups", "it defaults to table mode")
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
find(".report-header .title")
|
||||
.text()
|
||||
.trim(),
|
||||
"Signups",
|
||||
"it has a title"
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
find(".report-header .info").attr("data-tooltip"),
|
||||
"New account registrations for this period",
|
||||
"it has a description"
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
find(".report-body .report-table thead tr th:first-child")
|
||||
.text()
|
||||
.trim(),
|
||||
"Day",
|
||||
"it has col headers"
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
find(".report-body .report-table thead tr th:nth-child(2)")
|
||||
.text()
|
||||
.trim(),
|
||||
"Count",
|
||||
"it has col headers"
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
find(".report-body .report-table tbody tr:nth-child(1) td:nth-child(1)")
|
||||
.text()
|
||||
.trim(),
|
||||
"June 16, 2018",
|
||||
"it has rows"
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
find(".report-body .report-table tbody tr:nth-child(1) td:nth-child(2)")
|
||||
.text()
|
||||
.trim(),
|
||||
"12",
|
||||
"it has rows"
|
||||
);
|
||||
|
||||
assert.ok(exists(".totals-sample-table"), "it has totals");
|
||||
});
|
||||
|
||||
click(".admin-report-table-header.y .sort-button");
|
||||
andThen(() => {
|
||||
assert.equal(
|
||||
find(".report-body .report-table tbody tr:nth-child(1) td:nth-child(2)")
|
||||
.text()
|
||||
.trim(),
|
||||
"7",
|
||||
"it can sort rows"
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
componentTest("options", {
|
||||
template: "{{admin-report dataSourceName='signups' reportOptions=options}}",
|
||||
|
||||
beforeEach() {
|
||||
this.set("options", {
|
||||
table: {
|
||||
perPage: 4,
|
||||
total: false
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
test(assert) {
|
||||
andThen(() => {
|
||||
assert.ok(exists(".pagination"), "it paginates the results");
|
||||
assert.equal(
|
||||
find(".pagination button").length,
|
||||
3,
|
||||
"it creates the correct number of pages"
|
||||
);
|
||||
|
||||
assert.notOk(exists(".totals-sample-table"), "it hides totals");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
componentTest("switch modes", {
|
||||
template: "{{admin-report dataSourceName='signups'}}",
|
||||
|
||||
test(assert) {
|
||||
click(".mode-button.chart");
|
||||
|
||||
andThen(() => {
|
||||
assert.notOk(
|
||||
exists(".admin-report.table.signups"),
|
||||
"it removes the table"
|
||||
);
|
||||
assert.ok(exists(".admin-report.chart.signups"), "it shows the chart");
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
componentTest("timeout", {
|
||||
template: "{{admin-report dataSourceName='signups_timeout'}}",
|
||||
|
||||
test(assert) {
|
||||
andThen(() => {
|
||||
assert.ok(exists(".alert-error"), "it displays a timeout error");
|
||||
});
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user