@@ -5,8 +5,8 @@ import {afterEach, beforeEach, describe, expect, it, type Mock, vi} from 'vitest
55
66import { useAuthState } from '../hooks/auth/useAuthState'
77import { useWindowConnection } from '../hooks/comlink/useWindowConnection'
8- import { useSanityInstance } from '../hooks/context/useSanityInstance'
98import { ComlinkTokenRefreshProvider } from './ComlinkTokenRefresh'
9+ import { ResourceProvider } from './ResourceProvider'
1010
1111// Mocks
1212vi . mock ( '@sanity/sdk' , async ( ) => {
@@ -26,28 +26,20 @@ vi.mock('../hooks/comlink/useWindowConnection', () => ({
2626 useWindowConnection : vi . fn ( ) ,
2727} ) )
2828
29- vi . mock ( '../hooks/context/useSanityInstance' , ( ) => ( {
30- useSanityInstance : vi . fn ( ) ,
31- } ) )
32-
3329// Use simpler mock typings
3430const mockGetIsInDashboardState = getIsInDashboardState as Mock
3531const mockSetAuthToken = setAuthToken as Mock
3632const mockUseAuthState = useAuthState as Mock
3733const mockUseWindowConnection = useWindowConnection as Mock
38- const mockUseSanityInstance = useSanityInstance as Mock
3934
4035const mockFetch = vi . fn ( )
41- // eslint-disable-next-line @typescript-eslint/no-explicit-any
42- const mockSanityInstance : any = { projectId : 'test' , dataset : 'test' }
4336
4437describe ( 'ComlinkTokenRefresh' , ( ) => {
4538 beforeEach ( ( ) => {
4639 vi . useFakeTimers ( )
4740 mockGetIsInDashboardState . mockReturnValue ( { getCurrent : vi . fn ( ( ) => false ) } )
4841 mockUseAuthState . mockReturnValue ( { type : AuthStateType . LOGGED_IN } )
4942 mockUseWindowConnection . mockReturnValue ( { fetch : mockFetch } )
50- mockUseSanityInstance . mockReturnValue ( mockSanityInstance )
5143 } )
5244
5345 afterEach ( ( ) => {
@@ -64,9 +56,11 @@ describe('ComlinkTokenRefresh', () => {
6456 it ( 'should not request new token on 401 if not in dashboard' , async ( ) => {
6557 mockUseAuthState . mockReturnValue ( { type : AuthStateType . LOGGED_IN } )
6658 const { rerender} = render (
67- < ComlinkTokenRefreshProvider >
68- < div > Test</ div >
69- </ ComlinkTokenRefreshProvider > ,
59+ < ResourceProvider projectId = "test-project" dataset = "test-dataset" fallback = { null } >
60+ < ComlinkTokenRefreshProvider >
61+ < div > Test</ div >
62+ </ ComlinkTokenRefreshProvider >
63+ </ ResourceProvider > ,
7064 )
7165
7266 mockUseAuthState . mockReturnValue ( {
@@ -75,9 +69,11 @@ describe('ComlinkTokenRefresh', () => {
7569 } )
7670 act ( ( ) => {
7771 rerender (
78- < ComlinkTokenRefreshProvider >
79- < div > Test</ div >
80- </ ComlinkTokenRefreshProvider > ,
72+ < ResourceProvider projectId = "test-project" dataset = "test-dataset" fallback = { null } >
73+ < ComlinkTokenRefreshProvider >
74+ < div > Test</ div >
75+ </ ComlinkTokenRefreshProvider >
76+ </ ResourceProvider > ,
8177 )
8278 } )
8379
@@ -95,9 +91,11 @@ describe('ComlinkTokenRefresh', () => {
9591
9692 it ( 'should initialize useWindowConnection with correct parameters' , ( ) => {
9793 render (
98- < ComlinkTokenRefreshProvider >
99- < div > Test</ div >
100- </ ComlinkTokenRefreshProvider > ,
94+ < ResourceProvider projectId = "test-project" dataset = "test-dataset" fallback = { null } >
95+ < ComlinkTokenRefreshProvider >
96+ < div > Test</ div >
97+ </ ComlinkTokenRefreshProvider >
98+ </ ResourceProvider > ,
10199 )
102100
103101 expect ( mockUseWindowConnection ) . toHaveBeenCalledWith (
@@ -116,16 +114,18 @@ describe('ComlinkTokenRefresh', () => {
116114 mockFetch . mockResolvedValueOnce ( { token : 'new-token' } )
117115
118116 render (
119- < ComlinkTokenRefreshProvider >
120- < div > Test</ div >
121- </ ComlinkTokenRefreshProvider > ,
117+ < ResourceProvider projectId = "test-project" dataset = "test-dataset" fallback = { null } >
118+ < ComlinkTokenRefreshProvider >
119+ < div > Test</ div >
120+ </ ComlinkTokenRefreshProvider >
121+ </ ResourceProvider > ,
122122 )
123123
124124 await act ( async ( ) => {
125125 await vi . advanceTimersByTimeAsync ( 100 )
126126 } )
127127
128- expect ( mockSetAuthToken ) . toHaveBeenCalledWith ( mockSanityInstance , 'new-token' )
128+ expect ( mockSetAuthToken ) . toHaveBeenCalledWith ( expect . any ( Object ) , 'new-token' )
129129 expect ( mockFetch ) . toHaveBeenCalledTimes ( 1 )
130130 } )
131131
@@ -137,9 +137,11 @@ describe('ComlinkTokenRefresh', () => {
137137 mockFetch . mockResolvedValueOnce ( { token : null } )
138138
139139 render (
140- < ComlinkTokenRefreshProvider >
141- < div > Test</ div >
142- </ ComlinkTokenRefreshProvider > ,
140+ < ResourceProvider projectId = "test-project" dataset = "test-dataset" fallback = { null } >
141+ < ComlinkTokenRefreshProvider >
142+ < div > Test</ div >
143+ </ ComlinkTokenRefreshProvider >
144+ </ ResourceProvider > ,
143145 )
144146
145147 await act ( async ( ) => {
@@ -157,9 +159,11 @@ describe('ComlinkTokenRefresh', () => {
157159 mockFetch . mockRejectedValueOnce ( new Error ( 'Fetch failed' ) )
158160
159161 render (
160- < ComlinkTokenRefreshProvider >
161- < div > Test</ div >
162- </ ComlinkTokenRefreshProvider > ,
162+ < ResourceProvider projectId = "test-project" dataset = "test-dataset" fallback = { null } >
163+ < ComlinkTokenRefreshProvider >
164+ < div > Test</ div >
165+ </ ComlinkTokenRefreshProvider >
166+ </ ResourceProvider > ,
163167 )
164168
165169 await act ( async ( ) => {
@@ -173,9 +177,12 @@ describe('ComlinkTokenRefresh', () => {
173177 it ( 'should not request new token for non-401 errors' , async ( ) => {
174178 mockUseAuthState . mockReturnValue ( { type : AuthStateType . LOGGED_IN } )
175179 const { rerender} = render (
176- < ComlinkTokenRefreshProvider >
177- < div > Test</ div >
178- </ ComlinkTokenRefreshProvider > ,
180+ < ResourceProvider fallback = { null } >
181+ < ComlinkTokenRefreshProvider >
182+ < div > Test</ div >
183+ </ ComlinkTokenRefreshProvider >
184+ ,
185+ </ ResourceProvider > ,
179186 )
180187
181188 mockUseAuthState . mockReturnValue ( {
@@ -184,9 +191,11 @@ describe('ComlinkTokenRefresh', () => {
184191 } )
185192 act ( ( ) => {
186193 rerender (
187- < ComlinkTokenRefreshProvider >
188- < div > Test</ div >
189- </ ComlinkTokenRefreshProvider > ,
194+ < ResourceProvider fallback = { null } >
195+ < ComlinkTokenRefreshProvider >
196+ < div > Test</ div >
197+ </ ComlinkTokenRefreshProvider >
198+ </ ResourceProvider > ,
190199 )
191200 } )
192201
@@ -199,17 +208,21 @@ describe('ComlinkTokenRefresh', () => {
199208 it ( 'should request new token on LOGGED_OUT state' , async ( ) => {
200209 mockUseAuthState . mockReturnValue ( { type : AuthStateType . LOGGED_IN } )
201210 const { rerender} = render (
202- < ComlinkTokenRefreshProvider >
203- < div > Test</ div >
204- </ ComlinkTokenRefreshProvider > ,
211+ < ResourceProvider fallback = { null } >
212+ < ComlinkTokenRefreshProvider >
213+ < div > Test</ div >
214+ </ ComlinkTokenRefreshProvider >
215+ </ ResourceProvider > ,
205216 )
206217
207218 mockUseAuthState . mockReturnValue ( { type : AuthStateType . LOGGED_OUT } )
208219 act ( ( ) => {
209220 rerender (
210- < ComlinkTokenRefreshProvider >
211- < div > Test</ div >
212- </ ComlinkTokenRefreshProvider > ,
221+ < ResourceProvider fallback = { null } >
222+ < ComlinkTokenRefreshProvider >
223+ < div > Test</ div >
224+ </ ComlinkTokenRefreshProvider >
225+ </ ResourceProvider > ,
213226 )
214227 } )
215228
0 commit comments