File tree 1 file changed +22
-0
lines changed
libs/core/testing/src/lib 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -88,6 +88,28 @@ export class NgtTestBed {
88
88
canvas : mockedCanvas ,
89
89
destroy : fixture . componentInstance . destroy . bind ( fixture . componentInstance ) ,
90
90
fireEvent : this . createEventFirer ( store , fixture ) ,
91
+ advance : this . createAdvance ( store ) ,
92
+ } ;
93
+ }
94
+
95
+ static createAdvance ( store : NgtSignalStore < NgtState > ) {
96
+ return async ( frames : number , delta : number | number [ ] = 1 ) => {
97
+ const state = store . snapshot ;
98
+ const subscribers = state . internal . subscribers ;
99
+
100
+ const promises : Promise < void > [ ] = [ ] ;
101
+
102
+ for ( const subscriber of subscribers ) {
103
+ for ( let i = 0 ; i < frames ; i ++ ) {
104
+ if ( Array . isArray ( delta ) ) {
105
+ promises . push ( new Promise ( ( ) => subscriber . callback ( { ...state , delta : delta [ i ] || delta [ - 1 ] } ) ) ) ;
106
+ } else {
107
+ promises . push ( new Promise ( ( ) => subscriber . callback ( { ...state , delta } ) ) ) ;
108
+ }
109
+ }
110
+ }
111
+
112
+ await Promise . all ( promises ) ;
91
113
} ;
92
114
}
93
115
You can’t perform that action at this time.
0 commit comments