@@ -810,7 +810,8 @@ describe('IgxSimpleCombo', () => {
810810 TestBed . configureTestingModule ( {
811811 declarations : [
812812 IgxSimpleComboSampleComponent ,
813- IgxComboInContainerTestComponent
813+ IgxComboInContainerTestComponent ,
814+ IgxSimpleComboIconTemplatesComponent
814815 ] ,
815816 imports : [
816817 IgxSimpleComboModule ,
@@ -992,9 +993,10 @@ describe('IgxSimpleCombo', () => {
992993 const toggleButton = fixture . debugElement . query ( By . directive ( IgxIconComponent ) ) ;
993994 expect ( toggleButton ) . toBeDefined ( ) ;
994995
995- toggleButton . triggerEventHandler ( 'click' , UIInteractions . getMouseEvent ( ' click' ) ) ;
996+ toggleButton . nativeElement . click ( ) ;
996997 fixture . detectChanges ( ) ;
997998
999+ expect ( combo . collapsed ) . toBeFalsy ( ) ;
9981000 expect ( combo . onClick ) . toHaveBeenCalledTimes ( 1 ) ;
9991001 expect ( ( combo as any ) . virtDir . scrollTo ) . toHaveBeenCalledWith ( 0 ) ;
10001002 } ) ;
@@ -1278,6 +1280,30 @@ describe('IgxSimpleCombo', () => {
12781280 expect ( combo . selection ) . toEqual ( [ ] ) ;
12791281 expect ( combo . value ) . toBe ( '' ) ;
12801282 } ) ;
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+ } ) ) ;
12811307 } ) ;
12821308
12831309 describe ( 'Display density' , ( ) => {
@@ -1862,6 +1888,22 @@ export class IgxSimpleComboEmptyComponent {
18621888 public name ! : string ;
18631889}
18641890
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+
18651907@Component ( {
18661908 template : `<igx-simple-combo [(ngModel)]="selectedItem" [data]="items"></igx-simple-combo>`
18671909} )
0 commit comments