1
1
import { module , test } from 'qunit' ;
2
2
import { setupRenderingTest } from 'ember-qunit' ;
3
- import { render } from '@ember/test-helpers' ;
3
+ import { render , click , triggerEvent } from '@ember/test-helpers' ;
4
4
import hbs from 'htmlbars-inline-precompile' ;
5
5
6
6
module ( 'Integration | Component | x-tree-node' , function ( hooks ) {
@@ -23,4 +23,66 @@ module('Integration | Component | x-tree-node', function(hooks) {
23
23
24
24
assert . equal ( this . element . textContent . trim ( ) , 'template block text' ) ;
25
25
} ) ;
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
+ } ) ;
26
88
} ) ;
0 commit comments