@@ -217,7 +217,7 @@ describe('pollMember', () => {
217217 } )
218218
219219 describe ( 'initial data ready functionality' , ( ) => {
220- it ( 'should set initialDataReady flag when async_account_data_ready becomes true' , ( done ) => {
220+ it ( 'should set initialDataReady flag when async_account_data_ready becomes true' , async ( ) => {
221221 const mockMember = createMockMember ( {
222222 connection_status : ReadableStatuses . CONNECTED ,
223223 is_being_aggregated : false ,
@@ -227,15 +227,63 @@ describe('pollMember', () => {
227227 mockApi . loadMemberByGuid . mockReturnValue ( of ( mockMember ) )
228228 mockApi . loadJob . mockReturnValue ( of ( mockJob ) )
229229
230- const subscription = pollMember ( memberGuid , mockApi , clientLocale )
231- . pipe ( take ( 1 ) )
232- . subscribe ( ( result ) => {
233- expect ( result . initialDataReady ) . toBe ( true )
234- done ( )
235- } )
230+ const resultPromise = new Promise ( ( resolve , reject ) => {
231+ const subscription = pollMember ( memberGuid , mockApi , clientLocale )
232+ . pipe ( take ( 1 ) )
233+ . subscribe ( {
234+ next : ( result ) => {
235+ subscription . unsubscribe ( )
236+ resolve ( result )
237+ } ,
238+ error : ( error ) => {
239+ subscription . unsubscribe ( )
240+ reject ( error )
241+ } ,
242+ } )
236243
237- vi . advanceTimersByTime ( 3000 )
238- subscription . unsubscribe ( )
244+ // Advance timers to trigger the interval
245+ vi . advanceTimersByTime ( 3000 )
246+ } )
247+
248+ const result = await resultPromise
249+ expect ( result . initialDataReady ) . toBe ( true )
250+ } )
251+
252+ it ( 'should NOT set initialDataReady flag when async_account_data_ready becomes true and CLT guid is excluded' , async ( ) => {
253+ const mockMember = createMockMember ( {
254+ connection_status : ReadableStatuses . CONNECTED ,
255+ is_being_aggregated : false ,
256+ } )
257+ const mockJob = createMockJob ( true )
258+
259+ mockApi . loadMemberByGuid . mockReturnValue ( of ( mockMember ) )
260+ mockApi . loadJob . mockReturnValue ( of ( mockJob ) )
261+
262+ const resultPromise = new Promise ( ( resolve , reject ) => {
263+ const subscription = pollMember (
264+ memberGuid ,
265+ mockApi ,
266+ clientLocale ,
267+ 'CLT-64ff7421-a8ef-4ac0-90f1-1636eda1a1fd' ,
268+ )
269+ . pipe ( take ( 1 ) )
270+ . subscribe ( {
271+ next : ( result ) => {
272+ subscription . unsubscribe ( )
273+ resolve ( result )
274+ } ,
275+ error : ( error ) => {
276+ subscription . unsubscribe ( )
277+ reject ( error )
278+ } ,
279+ } )
280+
281+ // Advance timers to trigger the interval
282+ vi . advanceTimersByTime ( 3000 )
283+ } )
284+
285+ const result = await resultPromise
286+ expect ( result . initialDataReady ) . toBe ( false )
239287 } )
240288
241289 it ( 'should only set initialDataReady once, even on subsequent polls' , ( done ) => {
0 commit comments