Skip to content

Commit afa39cc

Browse files
committed
add tests
1 parent 476a294 commit afa39cc

File tree

1 file changed

+63
-1
lines changed

1 file changed

+63
-1
lines changed

tests/integration/components/x-tree-node-test.js

+63-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { module, test } from 'qunit';
22
import { setupRenderingTest } from 'ember-qunit';
3-
import { render } from '@ember/test-helpers';
3+
import { render, click, triggerEvent } from '@ember/test-helpers';
44
import hbs from 'htmlbars-inline-precompile';
55

66
module('Integration | Component | x-tree-node', function(hooks) {
@@ -23,4 +23,66 @@ module('Integration | Component | x-tree-node', function(hooks) {
2323

2424
assert.equal(this.element.textContent.trim(), 'template block text');
2525
});
26+
27+
test('select event', async function(assert) {
28+
this.selected = false;
29+
this.model = {
30+
name: 'a',
31+
children: []
32+
};
33+
this.set('onSelect', () => {
34+
this.selected = !this.selected;
35+
});
36+
37+
await render(hbs`{{x-tree-node model=model onSelect=(action onSelect)}}`);
38+
39+
await click('.tree-toggle');
40+
41+
assert.equal(this.selected, true, 'selected');
42+
43+
await click('.tree-toggle');
44+
45+
assert.equal(this.selected, false, 'unselected');
46+
});
47+
48+
test('contextmenu event', async function(assert) {
49+
this.rightClicked = false;
50+
this.model = {
51+
name: 'a',
52+
children: []
53+
};
54+
this.set('onContextMenu', () => {
55+
this.rightClicked = true;
56+
});
57+
58+
await render(hbs`{{x-tree-node model=model onContextMenu=(action onContextMenu)}}`);
59+
60+
await triggerEvent('.tree-toggle', 'contextmenu');
61+
62+
assert.equal(this.rightClicked, true, 'right click detected');
63+
});
64+
65+
test('onHover and onHoverOut events', async function(assert) {
66+
this.hovering = false;
67+
this.model = {
68+
name: 'a',
69+
children: []
70+
};
71+
this.set('onHover', () => {
72+
this.hovering = true;
73+
});
74+
this.set('onHoverOut', () => {
75+
this.hovering = false;
76+
});
77+
78+
await render(hbs`{{x-tree-node model=model onHover=(action onHover) onHoverOut=(action onHoverOut)}}`);
79+
80+
await triggerEvent('.tree-toggle', 'mouseenter');
81+
82+
assert.equal(this.hovering, true, 'hovering');
83+
84+
await triggerEvent('.tree-toggle', 'mouseleave');
85+
86+
assert.equal(this.hovering, false, 'hover out');
87+
});
2688
});

0 commit comments

Comments
 (0)