@@ -83,6 +83,8 @@ describe('OptimizelyProvider', () => {
8383 } ) ;
8484
8585 it ( 'should render successfully without user or userId provided' , ( ) => {
86+ // @ts -ignore
87+ mockReactClient . user = undefined ;
8688 render ( < OptimizelyProvider optimizely = { mockReactClient } /> ) ;
8789
8890 expect ( mockReactClient . setUser ) . toHaveBeenCalledWith ( DefaultUser ) ;
@@ -95,6 +97,8 @@ describe('OptimizelyProvider', () => {
9597 } ) ;
9698
9799 it ( 'should succeed just userAttributes provided' , ( ) => {
100+ // @ts -ignore
101+ mockReactClient . user = undefined ;
98102 render ( < OptimizelyProvider optimizely = { mockReactClient } userAttributes = { { attr1 : 'value1' } } /> ) ;
99103
100104 expect ( mockReactClient . setUser ) . toHaveBeenCalledWith ( {
@@ -103,6 +107,21 @@ describe('OptimizelyProvider', () => {
103107 } ) ;
104108 } ) ;
105109
110+ it ( 'should succeed with the initial user available in client' , ( ) => {
111+ render ( < OptimizelyProvider optimizely = { mockReactClient } /> ) ;
112+
113+ expect ( mockReactClient . setUser ) . toHaveBeenCalledWith ( user1 ) ;
114+ } ) ;
115+
116+ it ( 'should succeed with the initial user id and newly passed attributes' , ( ) => {
117+ render ( < OptimizelyProvider optimizely = { mockReactClient } userAttributes = { { attr1 : 'value2' } } /> ) ;
118+
119+ expect ( mockReactClient . setUser ) . toHaveBeenCalledWith ( {
120+ id : user1 . id ,
121+ attributes : { attr1 : 'value2' } ,
122+ } ) ;
123+ } ) ;
124+
106125 it ( 'should not update when isServerSide is true' , ( ) => {
107126 // Initial render
108127 const { rerender } = render ( < OptimizelyProvider optimizely = { mockReactClient } isServerSide = { true } user = { user1 } /> ) ;
0 commit comments