@@ -444,6 +444,56 @@ describe('IgxQueryBuilder', () => {
444
444
expect ( ( dropdownItems [ 4 ] as HTMLElement ) . innerText ) . toBe ( 'Released' ) ;
445
445
} ) ) ;
446
446
447
+ it ( 'ReturnFields should be properly calculated on entity change.' , fakeAsync ( ( ) => {
448
+ queryBuilder . expressionTree = QueryBuilderFunctions . generateExpressionTree ( ) ;
449
+ queryBuilder . showEntityChangeDialog = false ;
450
+ fix . detectChanges ( ) ;
451
+
452
+ // Verify the returnFields
453
+ let exprTreeReturnFields = JSON . stringify ( fix . componentInstance . queryBuilder . expressionTree . returnFields ) ;
454
+ expect ( exprTreeReturnFields ) . toBe ( `["*"]` ) ;
455
+
456
+ // Change the selected return fields
457
+ QueryBuilderFunctions . selectFieldsInEditModeExpression ( fix , [ 1 ] ) ;
458
+ tick ( 100 ) ;
459
+ fix . detectChanges ( ) ;
460
+
461
+ // Verify the returnFields
462
+ exprTreeReturnFields = JSON . stringify ( fix . componentInstance . queryBuilder . expressionTree . returnFields ) ;
463
+ expect ( exprTreeReturnFields ) . toBe ( `["OrderId"]` ) ;
464
+
465
+ // Change the entity
466
+ QueryBuilderFunctions . selectEntityAndClickInitialAddCondition ( fix , 0 ) ;
467
+
468
+ // Verify the returnFields
469
+ exprTreeReturnFields = JSON . stringify ( fix . componentInstance . queryBuilder . expressionTree . returnFields ) ;
470
+ expect ( exprTreeReturnFields ) . toBe ( `["*"]` ) ;
471
+ } ) ) ;
472
+
473
+ it ( 'ReturnFields should be properly calculated on selectAll click.' , fakeAsync ( ( ) => {
474
+ queryBuilder . expressionTree = QueryBuilderFunctions . generateExpressionTree ( ) ;
475
+ queryBuilder . showEntityChangeDialog = false ;
476
+ fix . detectChanges ( ) ;
477
+
478
+ // Click selectAll button in order to deselect all fields
479
+ QueryBuilderFunctions . selectFieldsInEditModeExpression ( fix , [ 0 ] ) ;
480
+ tick ( 100 ) ;
481
+ fix . detectChanges ( ) ;
482
+
483
+ // Verify the returnFields
484
+ let exprTreeReturnFields = JSON . stringify ( fix . componentInstance . queryBuilder . expressionTree . returnFields ) ;
485
+ expect ( exprTreeReturnFields ) . toBe ( `[]` ) ;
486
+
487
+ // Click selectAll button in order to select all fields
488
+ QueryBuilderFunctions . selectFieldsInEditModeExpression ( fix , [ 0 ] ) ;
489
+ tick ( 100 ) ;
490
+ fix . detectChanges ( ) ;
491
+
492
+ // Verify the returnFields
493
+ exprTreeReturnFields = JSON . stringify ( fix . componentInstance . queryBuilder . expressionTree . returnFields ) ;
494
+ expect ( exprTreeReturnFields ) . toBe ( `["*"]` ) ;
495
+ } ) ) ;
496
+
447
497
it ( 'Column dropdown should contain proper fields based on the entity.' , fakeAsync ( ( ) => {
448
498
const queryBuilderElement : HTMLElement = fix . debugElement . queryAll ( By . css ( `.${ QueryBuilderSelectors . QUERY_BUILDER_TREE } ` ) ) [ 0 ] . nativeElement ;
449
499
0 commit comments