11import React from 'react' ;
2- import { render } from '@testing-library/react' ;
2+ import { act , render } from '@testing-library/react' ;
33
44/** Mocks */
5- import { mockSdk } from './testUtils/mockSplitSdk' ;
5+ import { Event , mockSdk } from './testUtils/mockSplitSdk' ;
66jest . mock ( '@splitsoftware/splitio/client' , ( ) => {
77 return { SplitFactory : mockSdk ( ) } ;
88} ) ;
99import { SplitFactory as SplitSdk } from '@splitsoftware/splitio/client' ;
1010import { sdkBrowser } from './testUtils/sdkConfigs' ;
11+ import { getStatus } from '../utils' ;
1112
1213/** Test target */
1314import { SplitFactory } from '../SplitFactory' ;
1415import { useSplitManager } from '../useSplitManager' ;
1516
1617describe ( 'useSplitManager' , ( ) => {
1718
18- test ( 'returns the factory manager from the Split context.' , ( ) => {
19+ test ( 'returns the factory manager from the Split context, and updates when the context changes .' , ( ) => {
1920 const outerFactory = SplitSdk ( sdkBrowser ) ;
2021 let hookResult ;
2122 render (
@@ -26,6 +27,7 @@ describe('useSplitManager', () => {
2627 } ) }
2728 </ SplitFactory >
2829 ) ;
30+
2931 expect ( hookResult ) . toStrictEqual ( {
3032 manager : outerFactory . manager ( ) ,
3133 client : outerFactory . client ( ) ,
@@ -37,6 +39,20 @@ describe('useSplitManager', () => {
3739 isTimedout : false ,
3840 lastUpdate : 0 ,
3941 } ) ;
42+
43+ act ( ( ) => ( outerFactory . client ( ) as any ) . __emitter__ . emit ( Event . SDK_READY ) ) ;
44+
45+ expect ( hookResult ) . toStrictEqual ( {
46+ manager : outerFactory . manager ( ) ,
47+ client : outerFactory . client ( ) ,
48+ factory : outerFactory ,
49+ hasTimedout : false ,
50+ isDestroyed : false ,
51+ isReady : true ,
52+ isReadyFromCache : false ,
53+ isTimedout : false ,
54+ lastUpdate : getStatus ( outerFactory . client ( ) ) . lastUpdate ,
55+ } ) ;
4056 } ) ;
4157
4258 test ( 'returns null if invoked outside Split context.' , ( ) => {
@@ -47,6 +63,7 @@ describe('useSplitManager', () => {
4763 return null ;
4864 } )
4965 ) ;
66+
5067 expect ( hookResult ) . toStrictEqual ( {
5168 manager : null ,
5269 client : null ,
0 commit comments