-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathdocument-delete-button-test.js
98 lines (84 loc) · 2.33 KB
/
document-delete-button-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import { render, click } from "@ember/test-helpers";
import { setupRenderingTest } from "dummy/tests/helpers";
import { hbs } from "ember-cli-htmlbars";
import { module, test } from "qunit";
import { fake } from "sinon";
module("Integration | Component | document-delete-button", function (hooks) {
setupRenderingTest(hooks);
hooks.beforeEach(function () {
this.owner.lookup("service:router").transitionTo = fake();
});
test("delete document", async function (assert) {
this.document = {
id: 1,
title: "Test",
destroyRecord() {
assert.step("destroy test");
},
};
this.onCancel = () => assert.step("cancel");
this.onConfirm = () => assert.step("confirm");
await render(hbs`
<DocumentDeleteButton
@docsToDelete={{this.document}}
@onConfirm={{this.onConfirm}}
@onCancel={{this.onCancel}}
as |showDialog|
>
<button
{{on "click" showDialog}}
data-test-delete
type="button"
>
Delete
</button>
</DocumentDeleteButton>
`);
await click("[data-test-delete]");
await click("[data-test-delete-cancel]");
await click("[data-test-delete]");
await click("[data-test-delete-confirm]");
assert.verifySteps(["cancel", "confirm", "destroy test"]);
});
test("delete document multiple", async function (assert) {
this.documents = [
{
id: 1,
title: "Test",
destroyRecord() {
assert.step("destroy test");
},
},
{
id: 2,
title: "Bar",
destroyRecord() {
assert.step("destroy bar");
},
},
];
this.onCancel = () => assert.step("cancel");
this.onConfirm = () => assert.step("confirm");
await render(hbs`
<DocumentDeleteButton
@docsToDelete={{this.documents}}
@onConfirm={{this.onConfirm}}
@onCancel={{this.onCancel}}
as |showDialog|
>
<button
{{on "click" showDialog}}
data-test-delete
type="button"
>
Delete
</button>
</DocumentDeleteButton>
`);
await click("[data-test-delete]");
await click("[data-test-delete-cancel]");
await click("[data-test-delete]");
await click("[data-test-delete-confirm]");
assert.verifySteps(["cancel", "confirm", "destroy test", "destroy bar"]);
});
});