@@ -810,7 +810,8 @@ describe('IgxSimpleCombo', () => {
810
810
TestBed . configureTestingModule ( {
811
811
declarations : [
812
812
IgxSimpleComboSampleComponent ,
813
- IgxComboInContainerTestComponent
813
+ IgxComboInContainerTestComponent ,
814
+ IgxSimpleComboIconTemplatesComponent
814
815
] ,
815
816
imports : [
816
817
IgxSimpleComboModule ,
@@ -992,9 +993,10 @@ describe('IgxSimpleCombo', () => {
992
993
const toggleButton = fixture . debugElement . query ( By . directive ( IgxIconComponent ) ) ;
993
994
expect ( toggleButton ) . toBeDefined ( ) ;
994
995
995
- toggleButton . triggerEventHandler ( 'click' , UIInteractions . getMouseEvent ( ' click' ) ) ;
996
+ toggleButton . nativeElement . click ( ) ;
996
997
fixture . detectChanges ( ) ;
997
998
999
+ expect ( combo . collapsed ) . toBeFalsy ( ) ;
998
1000
expect ( combo . onClick ) . toHaveBeenCalledTimes ( 1 ) ;
999
1001
expect ( ( combo as any ) . virtDir . scrollTo ) . toHaveBeenCalledWith ( 0 ) ;
1000
1002
} ) ;
@@ -1278,6 +1280,30 @@ describe('IgxSimpleCombo', () => {
1278
1280
expect ( combo . selection ) . toEqual ( [ ] ) ;
1279
1281
expect ( combo . value ) . toBe ( '' ) ;
1280
1282
} ) ;
1283
+
1284
+ it ( 'should toggle dropdown list on clicking a templated toggle icon' , fakeAsync ( ( ) => {
1285
+ fixture = TestBed . createComponent ( IgxSimpleComboIconTemplatesComponent ) ;
1286
+ fixture . detectChanges ( ) ;
1287
+ combo = fixture . componentInstance . combo ;
1288
+
1289
+ const toggleIcon = fixture . debugElement . query ( By . directive ( IgxIconComponent ) ) ;
1290
+ expect ( toggleIcon ) . toBeDefined ( ) ;
1291
+
1292
+ expect ( toggleIcon . nativeElement . textContent ) . toBe ( 'search' ) ;
1293
+ expect ( combo . collapsed ) . toBeTruthy ( ) ;
1294
+
1295
+ toggleIcon . nativeElement . click ( ) ;
1296
+ tick ( ) ;
1297
+ fixture . detectChanges ( ) ;
1298
+
1299
+ expect ( combo . collapsed ) . toBeFalsy ( ) ;
1300
+
1301
+ toggleIcon . nativeElement . click ( ) ;
1302
+ tick ( ) ;
1303
+ fixture . detectChanges ( ) ;
1304
+
1305
+ expect ( combo . collapsed ) . toBeTruthy ( ) ;
1306
+ } ) ) ;
1281
1307
} ) ;
1282
1308
1283
1309
describe ( 'Display density' , ( ) => {
@@ -1862,6 +1888,22 @@ export class IgxSimpleComboEmptyComponent {
1862
1888
public name ! : string ;
1863
1889
}
1864
1890
1891
+ @Component ( {
1892
+ template : `<igx-simple-combo #combo [data]="data" displayKey="name" valueKey="id" [(ngModel)]="name">
1893
+ <ng-template igxComboToggleIcon><igx-icon>search</igx-icon></ng-template>
1894
+ </igx-simple-combo>`
1895
+ } )
1896
+ export class IgxSimpleComboIconTemplatesComponent {
1897
+ @ViewChild ( 'combo' , { read : IgxSimpleComboComponent , static : true } )
1898
+ public combo : IgxSimpleComboComponent ;
1899
+
1900
+ public data : any [ ] = [
1901
+ { name : 'Sofia' , id : '1' } ,
1902
+ { name : 'London' , id : '2' } ,
1903
+ ] ; ;
1904
+ public name ! : string ;
1905
+ }
1906
+
1865
1907
@Component ( {
1866
1908
template : `<igx-simple-combo [(ngModel)]="selectedItem" [data]="items"></igx-simple-combo>`
1867
1909
} )
0 commit comments