@@ -83,6 +83,8 @@ describe('OptimizelyProvider', () => {
83
83
} ) ;
84
84
85
85
it ( 'should render successfully without user or userId provided' , ( ) => {
86
+ // @ts -ignore
87
+ mockReactClient . user = undefined ;
86
88
render ( < OptimizelyProvider optimizely = { mockReactClient } /> ) ;
87
89
88
90
expect ( mockReactClient . setUser ) . toHaveBeenCalledWith ( DefaultUser ) ;
@@ -95,6 +97,8 @@ describe('OptimizelyProvider', () => {
95
97
} ) ;
96
98
97
99
it ( 'should succeed just userAttributes provided' , ( ) => {
100
+ // @ts -ignore
101
+ mockReactClient . user = undefined ;
98
102
render ( < OptimizelyProvider optimizely = { mockReactClient } userAttributes = { { attr1 : 'value1' } } /> ) ;
99
103
100
104
expect ( mockReactClient . setUser ) . toHaveBeenCalledWith ( {
@@ -103,6 +107,21 @@ describe('OptimizelyProvider', () => {
103
107
} ) ;
104
108
} ) ;
105
109
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
+
106
125
it ( 'should not update when isServerSide is true' , ( ) => {
107
126
// Initial render
108
127
const { rerender } = render ( < OptimizelyProvider optimizely = { mockReactClient } isServerSide = { true } user = { user1 } /> ) ;
0 commit comments