11import { computed } from '@ember/object' ;
2- import { run } from '@ember/runloop' ;
32import { moduleForComponent , test } from 'ember-qunit' ;
3+ import PageObject from 'ember-cli-page-object' ;
44import hbs from 'htmlbars-inline-precompile' ;
5+ import userDropdownComponent from 'code-corps-ember/tests/pages/component/user-dropdown' ;
6+
7+ let page = PageObject . create ( userDropdownComponent ) ;
8+
9+ function renderPage ( ) {
10+ page . render ( hbs `{{user-dropdown user=user action='hide'}}` ) ;
11+ }
512
613moduleForComponent ( 'user-dropdown' , 'Integration | Component | user dropdown' , {
7- integration : true
14+ integration : true ,
15+ beforeEach ( ) {
16+ page . setContext ( this ) ;
17+ } ,
18+ afterEach ( ) {
19+ page . removeContext ( ) ;
20+ }
821} ) ;
922
1023const stubUser = {
@@ -23,10 +36,11 @@ const stubUser = {
2336
2437test ( 'it renders' , function ( assert ) {
2538 assert . expect ( 1 ) ;
39+
2640 this . set ( 'user' , stubUser ) ;
27- this . render ( hbs `{{user-dropdown user=user}}` ) ;
41+ renderPage ( ) ;
2842
29- assert . equal ( this . $ ( '.dropdown-menu' ) . length , 1 , 'The component renders' ) ;
43+ assert . ok ( page . isVisible , 'The component renders' ) ;
3044} ) ;
3145
3246test ( 'it triggers the hide action when clicked' , function ( assert ) {
@@ -36,6 +50,8 @@ test('it triggers the hide action when clicked', function(assert) {
3650 this . on ( 'hide' , function ( ) {
3751 assert . ok ( true , 'It triggers the hide action when clicked' ) ;
3852 } ) ;
39- this . render ( hbs `{{user-dropdown user=user action='hide'}}` ) ;
40- run ( ( ) => this . $ ( '.dropdown-menu' ) . click ( ) ) ;
53+
54+ renderPage ( ) ;
55+ page . click ( ) ;
56+
4157} ) ;
0 commit comments