1
1
import { CollapseDirective } from './collapse.directive' ;
2
2
import { Component , DebugElement , ElementRef , Renderer2 } from '@angular/core' ;
3
- import { ComponentFixture , TestBed } from '@angular/core/testing' ;
3
+ import { ComponentFixture , fakeAsync , TestBed } from '@angular/core/testing' ;
4
4
import { NoopAnimationsModule } from '@angular/platform-browser/animations' ;
5
5
import { By } from '@angular/platform-browser' ;
6
6
7
7
class MockElementRef extends ElementRef { }
8
8
9
9
@Component ( {
10
- template : '<div cCollapse horizontal>Test</div>' ,
10
+ template : '<div cCollapse [ horizontal]="horizontal" [(visible)]="visible" [animate]="false" >Test</div>' ,
11
11
imports : [ CollapseDirective ]
12
12
} )
13
- class TestComponent { }
13
+ class TestComponent {
14
+ horizontal = false ;
15
+ visible = false ;
16
+ }
14
17
15
18
describe ( 'CollapseDirective' , ( ) => {
16
19
let component : TestComponent ;
@@ -26,7 +29,7 @@ describe('CollapseDirective', () => {
26
29
fixture = TestBed . createComponent ( TestComponent ) ;
27
30
component = fixture . componentInstance ;
28
31
elementRef = fixture . debugElement . query ( By . directive ( CollapseDirective ) ) ;
29
-
32
+ component . visible = false ;
30
33
fixture . detectChanges ( ) ; // initial binding
31
34
} ) ;
32
35
@@ -37,7 +40,17 @@ describe('CollapseDirective', () => {
37
40
} ) ;
38
41
} ) ;
39
42
40
- it ( 'should have css classes' , ( ) => {
43
+ it ( 'should have css classes' , fakeAsync ( ( ) => {
44
+ expect ( elementRef . nativeElement . style . display ) . toContain ( 'none' ) ;
45
+ expect ( elementRef . nativeElement ) . not . toHaveClass ( 'collapse-horizontal' ) ;
46
+ component . horizontal = true ;
47
+ component . visible = true ;
48
+ fixture . detectChanges ( ) ;
41
49
expect ( elementRef . nativeElement ) . toHaveClass ( 'collapse-horizontal' ) ;
42
- } ) ;
50
+ expect ( elementRef . nativeElement . style . display ) . toBe ( '' ) ;
51
+ component . horizontal = false ;
52
+ component . visible = false ;
53
+ fixture . detectChanges ( ) ;
54
+ expect ( elementRef . nativeElement ) . not . toHaveClass ( 'collapse-horizontal' ) ;
55
+ } ) ) ;
43
56
} ) ;
0 commit comments