@@ -153,4 +153,80 @@ describe('useVisitorData', () => {
153153
154154 expect ( hook . result . current . error ?. message ) . toBe ( ERROR_CLIENT_TIMEOUT )
155155 } )
156+
157+ it ( '`getVisitorData` `getOptions` should be passed from `getVisitorData` `getOptions`' , async ( ) => {
158+ const useVisitorDataId = 'useVisitorDataId'
159+ const wrapper = createWrapper ( )
160+ const hook = renderHook (
161+ ( ) =>
162+ useVisitorData (
163+ {
164+ linkedId : useVisitorDataId ,
165+ tag : { tagA : useVisitorDataId } ,
166+ } ,
167+ { immediate : false }
168+ ) ,
169+ { wrapper }
170+ )
171+
172+ await act ( async ( ) => {
173+ await hook . result . current . getData ( )
174+ } )
175+ expect ( getVisitorData ) . toHaveBeenCalledTimes ( 1 )
176+ expect ( getVisitorData ) . toHaveBeenCalledWith (
177+ { linkedId : useVisitorDataId , tag : { tagA : useVisitorDataId } } ,
178+ undefined
179+ )
180+ } )
181+
182+ it ( '`getData` `getOptions` should be more important than `getVisitorData` `getOptions`' , async ( ) => {
183+ const getDataId = 'getDataId'
184+ const useVisitorDataId = 'useVisitorDataId'
185+ const wrapper = createWrapper ( )
186+ const hook = renderHook (
187+ ( ) =>
188+ useVisitorData (
189+ {
190+ linkedId : useVisitorDataId ,
191+ tag : { tagA : useVisitorDataId } ,
192+ } ,
193+ { immediate : false }
194+ ) ,
195+ { wrapper }
196+ )
197+
198+ await act ( async ( ) => {
199+ await hook . result . current . getData ( {
200+ linkedId : getDataId ,
201+ tag : { tagA : getDataId } ,
202+ } )
203+ } )
204+ expect ( getVisitorData ) . toHaveBeenCalledTimes ( 1 )
205+ expect ( getVisitorData ) . toHaveBeenCalledWith ( { linkedId : getDataId , tag : { tagA : getDataId } } , undefined )
206+ } )
207+
208+ it ( '`getData` `getOptions` should extend `getVisitorData` `getOptions`' , async ( ) => {
209+ const getDataId = 'getDataId'
210+ const useVisitorDataId = 'useVisitorDataId'
211+ const wrapper = createWrapper ( )
212+ const hook = renderHook (
213+ ( ) =>
214+ useVisitorData (
215+ {
216+ linkedId : useVisitorDataId ,
217+ tag : { tagA : useVisitorDataId } ,
218+ } ,
219+ { immediate : false }
220+ ) ,
221+ { wrapper }
222+ )
223+
224+ await act ( async ( ) => {
225+ await hook . result . current . getData ( {
226+ linkedId : getDataId ,
227+ } )
228+ } )
229+ expect ( getVisitorData ) . toHaveBeenCalledTimes ( 1 )
230+ expect ( getVisitorData ) . toHaveBeenCalledWith ( { linkedId : getDataId , tag : { tagA : useVisitorDataId } } , undefined )
231+ } )
156232} )
0 commit comments