( mocks: MockedGraphQLResponse[] = [createFeedMock()], user?: LoggedUser, feedName: AllFeedPages = SharedFeedPage.MyFeed, query = ANONYMOUS_FEED_QUERY, )
| 232 | }); |
| 233 | |
| 234 | function renderComponent( |
| 235 | mocks: MockedGraphQLResponse[] = [createFeedMock()], |
| 236 | user?: LoggedUser, |
| 237 | feedName: AllFeedPages = SharedFeedPage.MyFeed, |
| 238 | query = ANONYMOUS_FEED_QUERY, |
| 239 | ): RenderResult { |
| 240 | const resolvedUser = arguments.length < 2 ? defaultUser : user; |
| 241 | |
| 242 | mocks.forEach(mockGraphQL); |
| 243 | nock('http://localhost:3000').get('/v1/a?active=false').reply(200, [ad]); |
| 244 | const settingsContext: SettingsContextData = { |
| 245 | ...baseSettingsContext, |
| 246 | setTheme: jest.fn(), |
| 247 | setSpaciness: jest.fn(), |
| 248 | toggleOpenNewTab: jest.fn(), |
| 249 | toggleInsaneMode: jest.fn(), |
| 250 | toggleShowTopSites: jest.fn(), |
| 251 | toggleSortingEnabled: jest.fn(), |
| 252 | toggleOptOutReadingStreak: jest.fn(), |
| 253 | toggleAutoDismissNotifications: jest.fn(), |
| 254 | updateCustomLinks: jest.fn(), |
| 255 | toggleSidebarExpanded: jest.fn(), |
| 256 | }; |
| 257 | return render( |
| 258 | <QueryClientProvider client={queryClient}> |
| 259 | <AuthContext.Provider |
| 260 | value={{ |
| 261 | user: resolvedUser, |
| 262 | isLoggedIn: !!resolvedUser, |
| 263 | shouldShowLogin: false, |
| 264 | showLogin, |
| 265 | logout: jest.fn(), |
| 266 | updateUser: jest.fn(), |
| 267 | tokenRefreshed: true, |
| 268 | getRedirectUri: jest.fn(), |
| 269 | closeLogin: jest.fn(), |
| 270 | trackingId: resolvedUser?.id, |
| 271 | loginState: undefined, |
| 272 | isAuthReady: true, |
| 273 | }} |
| 274 | > |
| 275 | <LazyModalElement /> |
| 276 | <SettingsContext.Provider value={settingsContext}> |
| 277 | <Toast autoDismissNotifications={false} /> |
| 278 | <Feed |
| 279 | feedQueryKey={['feed']} |
| 280 | feedName={feedName} |
| 281 | query={query} |
| 282 | variables={variables} |
| 283 | /> |
| 284 | </SettingsContext.Provider> |
| 285 | </AuthContext.Provider> |
| 286 | </QueryClientProvider>, |
| 287 | ); |
| 288 | } |
| 289 | |
| 290 | const getRequiredValue = <T,>( |
| 291 | value: T | null | undefined, |
no test coverage detected