discourse/test/javascripts/widgets/actions-summary-test.js.es6

92 lines
2.3 KiB
Plaintext
Raw Normal View History

2018-06-15 23:03:24 +08:00
import { moduleForWidget, widgetTest } from "helpers/widget-test";
2018-06-15 23:03:24 +08:00
moduleForWidget("actions-summary");
2018-06-15 23:03:24 +08:00
widgetTest("listing actions", {
template: '{{mount-widget widget="actions-summary" args=args}}',
2017-06-15 01:57:58 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("args", {
actionsSummary: [
2018-06-15 23:03:24 +08:00
{ id: 1, action: "off_topic", description: "very off topic" },
{ id: 2, action: "spam", description: "suspicious message" }
]
});
},
async test(assert) {
2018-06-15 23:03:24 +08:00
assert.equal(this.$(".post-actions .post-action").length, 2);
await click(".post-action:eq(0) .action-link a");
assert.equal(
this.$(".post-action:eq(0) img.avatar").length,
1,
"clicking it shows the user"
);
}
});
2018-06-15 23:03:24 +08:00
widgetTest("undo", {
template:
'{{mount-widget widget="actions-summary" args=args undoPostAction=undoPostAction}}',
2017-06-15 01:57:58 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("args", {
actionsSummary: [
2018-06-15 23:03:24 +08:00
{ action: "off_topic", description: "very off topic", canUndo: true }
]
});
2018-06-15 23:03:24 +08:00
this.set("undoPostAction", () => (this.undid = true));
},
async test(assert) {
2018-06-15 23:03:24 +08:00
assert.equal(this.$(".post-actions .post-action").length, 1);
await click(".action-link.undo");
assert.ok(this.undid, "it triggered the action");
}
});
2018-06-15 23:03:24 +08:00
widgetTest("deferFlags", {
template:
'{{mount-widget widget="actions-summary" args=args deferPostActionFlags="deferPostActionFlags"}}',
2017-06-15 01:57:58 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("args", {
actionsSummary: [
2018-06-15 23:03:24 +08:00
{
action: "off_topic",
description: "very off topic",
canDeferFlags: true,
count: 1
}
]
});
2018-06-15 23:03:24 +08:00
this.on("deferPostActionFlags", () => (this.deferred = true));
},
async test(assert) {
2018-06-15 23:03:24 +08:00
assert.equal(this.$(".post-actions .post-action").length, 1);
await click(".action-link.defer-flags");
assert.ok(this.deferred, "it triggered the action");
}
});
2018-06-15 23:03:24 +08:00
widgetTest("post deleted", {
template: '{{mount-widget widget="actions-summary" args=args}}',
2017-06-15 01:57:58 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("args", {
2016-03-04 00:40:35 +08:00
deleted_at: "2016-01-01",
2018-06-15 23:03:24 +08:00
deletedByUsername: "eviltrout",
deletedByAvatarTemplate: "/images/avatar.png"
});
},
test(assert) {
2018-06-15 23:03:24 +08:00
assert.ok(
this.$(".post-action .d-icon-trash-o").length === 1,
"it has the deleted icon"
);
assert.ok(
this.$(".avatar[title=eviltrout]").length === 1,
"it has the deleted by avatar"
);
}
});