@@ -21,6 +21,10 @@ import {
2121 expectColumnNames ,
2222} from './testing/test_utils' ;
2323
24+ function makeAggNode ( ) : AggregationNode {
25+ return new AggregationNode ( { groupByColumns : [ ] , aggregations : [ ] } , { } ) ;
26+ }
27+
2428describe ( 'Node Propagation' , ( ) => {
2529 describe ( 'column rename propagation' , ( ) => {
2630 it ( 'REGRESSION: should update AggregationNode when ModifyColumnsNode columns change' , ( ) => {
@@ -30,10 +34,7 @@ describe('Node Propagation', () => {
3034 // Setup: Source -> Modify -> Aggregation
3135 const sourceNode = createMockSourceNode ( ) ;
3236 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
33- const aggNode = new AggregationNode (
34- { groupByColumns : [ ] , aggregations : [ ] } ,
35- { } ,
36- ) ;
37+ const aggNode = makeAggNode ( ) ;
3738
3839 // Connect the nodes
3940 connectNodes ( sourceNode , modifyNode ) ;
@@ -67,10 +68,7 @@ describe('Node Propagation', () => {
6768 // Setup: Source -> Modify -> Aggregation
6869 const sourceNode = createMockSourceNode ( ) ;
6970 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
70- const aggNode = new AggregationNode (
71- { groupByColumns : [ ] , aggregations : [ ] } ,
72- { } ,
73- ) ;
71+ const aggNode = makeAggNode ( ) ;
7472
7573 // Connect the nodes
7674 connectNodes ( sourceNode , modifyNode ) ;
@@ -118,10 +116,7 @@ describe('Node Propagation', () => {
118116 // Setup: Source -> Modify -> Aggregation
119117 const sourceNode = createMockSourceNode ( ) ;
120118 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
121- const aggNode = new AggregationNode (
122- { groupByColumns : [ ] , aggregations : [ ] } ,
123- { } ,
124- ) ;
119+ const aggNode = makeAggNode ( ) ;
125120
126121 // Connect the nodes
127122 connectNodes ( sourceNode , modifyNode ) ;
@@ -153,10 +148,7 @@ describe('Node Propagation', () => {
153148 // Setup: Source -> Modify -> Aggregation
154149 const sourceNode = createMockSourceNode ( ) ;
155150 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
156- const aggNode = new AggregationNode (
157- { groupByColumns : [ ] , aggregations : [ ] } ,
158- { } ,
159- ) ;
151+ const aggNode = makeAggNode ( ) ;
160152
161153 // Connect the nodes
162154 connectNodes ( sourceNode , modifyNode ) ;
@@ -189,10 +181,7 @@ describe('Node Propagation', () => {
189181 // Setup: Source -> Modify -> Aggregation
190182 const sourceNode = createMockSourceNode ( ) ;
191183 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
192- const aggNode = new AggregationNode (
193- { groupByColumns : [ ] , aggregations : [ ] } ,
194- { } ,
195- ) ;
184+ const aggNode = makeAggNode ( ) ;
196185
197186 // Connect the nodes
198187 connectNodes ( sourceNode , modifyNode ) ;
@@ -293,10 +282,7 @@ describe('Node Propagation', () => {
293282 // Setup: Source -> Modify1 -> Agg -> Modify2
294283 const sourceNode = createMockSourceNode ( ) ;
295284 const modify1 = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
296- const aggNode = new AggregationNode (
297- { groupByColumns : [ ] , aggregations : [ ] } ,
298- { } ,
299- ) ;
285+ const aggNode = makeAggNode ( ) ;
300286 const modify2 = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
301287
302288 // Connect the nodes
@@ -422,10 +408,7 @@ describe('Node Propagation', () => {
422408 it ( 'should be called on downstream nodes when upstream changes' , ( ) => {
423409 const sourceNode = createMockSourceNode ( ) ;
424410 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
425- const aggNode = new AggregationNode (
426- { groupByColumns : [ ] , aggregations : [ ] } ,
427- { } ,
428- ) ;
411+ const aggNode = makeAggNode ( ) ;
429412
430413 // Connect the nodes
431414 connectNodes ( sourceNode , modifyNode ) ;
@@ -462,10 +445,7 @@ describe('Node Propagation', () => {
462445
463446 // Setup: Source -> Aggregation -> ModifyColumns
464447 const sourceNode = createMockSourceNode ( ) ;
465- const aggNode = new AggregationNode (
466- { groupByColumns : [ ] , aggregations : [ ] } ,
467- { } ,
468- ) ;
448+ const aggNode = makeAggNode ( ) ;
469449 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
470450
471451 // Connect the nodes
@@ -523,10 +503,7 @@ describe('Node Propagation', () => {
523503 it ( 'should propagate multiple aggregation column name changes' , ( ) => {
524504 // Setup: Source -> Aggregation -> ModifyColumns
525505 const sourceNode = createMockSourceNode ( ) ;
526- const aggNode = new AggregationNode (
527- { groupByColumns : [ ] , aggregations : [ ] } ,
528- { } ,
529- ) ;
506+ const aggNode = makeAggNode ( ) ;
530507 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
531508
532509 // Connect the nodes
@@ -578,10 +555,7 @@ describe('Node Propagation', () => {
578555 it ( 'should handle propagation through: Source -> Agg -> ModifyColumns1 -> ModifyColumns2' , ( ) => {
579556 // Setup: Source -> Aggregation -> Modify1 -> Modify2
580557 const sourceNode = createMockSourceNode ( ) ;
581- const aggNode = new AggregationNode (
582- { groupByColumns : [ ] , aggregations : [ ] } ,
583- { } ,
584- ) ;
558+ const aggNode = makeAggNode ( ) ;
585559 const modify1 = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
586560 const modify2 = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
587561
@@ -619,10 +593,7 @@ describe('Node Propagation', () => {
619593 // This test requires FilterNode, but we'll use ModifyColumns as a proxy
620594 // to test the general propagation pattern
621595 const sourceNode = createMockSourceNode ( ) ;
622- const aggNode = new AggregationNode (
623- { groupByColumns : [ ] , aggregations : [ ] } ,
624- { } ,
625- ) ;
596+ const aggNode = makeAggNode ( ) ;
626597 const middleNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
627598 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
628599
@@ -656,14 +627,8 @@ describe('Node Propagation', () => {
656627
657628 it ( 'should handle multiple stacked aggregations: Source -> Agg1 -> Agg2 -> ModifyColumns' , ( ) => {
658629 const sourceNode = createMockSourceNode ( ) ;
659- const agg1 = new AggregationNode (
660- { groupByColumns : [ ] , aggregations : [ ] } ,
661- { } ,
662- ) ;
663- const agg2 = new AggregationNode (
664- { groupByColumns : [ ] , aggregations : [ ] } ,
665- { } ,
666- ) ;
630+ const agg1 = makeAggNode ( ) ;
631+ const agg2 = makeAggNode ( ) ;
667632 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
668633
669634 // Connect: Source -> Agg1 -> Agg2 -> ModifyColumns
@@ -725,10 +690,7 @@ describe('Node Propagation', () => {
725690 // it should NOT appear in the modify columns node below
726691
727692 const sourceNode = createMockSourceNode ( ) ;
728- const aggNode = new AggregationNode (
729- { groupByColumns : [ ] , aggregations : [ ] } ,
730- { } ,
731- ) ;
693+ const aggNode = makeAggNode ( ) ;
732694 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
733695
734696 // Connect the nodes
@@ -776,10 +738,7 @@ describe('Node Propagation', () => {
776738 // it should appear in downstream nodes
777739
778740 const sourceNode = createMockSourceNode ( ) ;
779- const aggNode = new AggregationNode (
780- { groupByColumns : [ ] , aggregations : [ ] } ,
781- { } ,
782- ) ;
741+ const aggNode = makeAggNode ( ) ;
783742 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
784743
785744 // Connect the nodes
@@ -821,10 +780,7 @@ describe('Node Propagation', () => {
821780 // When there are multiple aggregations, only valid ones should propagate
822781
823782 const sourceNode = createMockSourceNode ( ) ;
824- const aggNode = new AggregationNode (
825- { groupByColumns : [ ] , aggregations : [ ] } ,
826- { } ,
827- ) ;
783+ const aggNode = makeAggNode ( ) ;
828784 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
829785
830786 // Connect the nodes
@@ -878,10 +834,7 @@ describe('Node Propagation', () => {
878834
879835 // Setup: Source -> Aggregation -> ModifyColumns
880836 const sourceNode = createMockSourceNode ( ) ;
881- const aggNode = new AggregationNode (
882- { groupByColumns : [ ] , aggregations : [ ] } ,
883- { } ,
884- ) ;
837+ const aggNode = makeAggNode ( ) ;
885838 const modifyNode = new ModifyColumnsNode ( { selectedColumns : [ ] } , { } ) ;
886839
887840 // Connect the nodes
0 commit comments