From 5abcc8e336b3af11a6c98d0d9e662415856478a0 Mon Sep 17 00:00:00 2001 From: João Ferreiro Date: Tue, 17 Jan 2023 16:06:00 +0000 Subject: Unit Testing (#35) * add testing lib * remove coverage folder from git * finished basic test setup * fix tests typescript and import paths * add first snapshot * testing utils * rename test files; update script flags; ++tests * testing utils functions * testing downloadAndResize wip * remove download test * specify unwanted coverage paths; remove update snapshots flag * fix strings tests * testing downloadAndResize method * increasing testing * fixing snapshots wip * fixed shell mobile snapshot * adding snapshots for the screens * fix onboard snapshot * fix typescript issues * fix TabsSelector snapshot * Account for testing device's locale in ago() tests * Remove platform detection on regex * mocking store state wip * mocking store state * increasing test coverage * increasing test coverage * increasing test coverage on src/screens * src/screens (except for profile) above 80% cov * testing profile screen wip * increase coverage on Menu and TabsSelector * mocking profile ui state wip * mocking profile ui state wip * fixing mobileshell tests wip * snapshots using testing-library * fixing profile tests wip * removing mobile shell tests * src/view/com tests wip * remove unnecessary patch-package * fixed profile test error * clear mocks after every test * fix base mocked store values (getters) * fix base mocked store values (hasLoaded, nonReplyFeed) * profile screen above 80% coverage * testing custom hooks * improving composer coverage * fix tests after merge * finishing composer coverage * improving src/com/discover coverage * improve src/view/com/login coverage fix SuggestedFollows tests adding some comments * fix SuggestedFollows tests * improve src/view/com/profile coverage extra minor fixes * improve src/view/com/notifications coverage * update coverage ignore patterns * rename errorMessageTryAgainButton increase SuggestedFollows converage * improve src/view/com/posts coverage * improve src/view/com/onboard coverage * update snapshot * improve src/view/com/post coverage * improve src/view/com/post-thread coverage rename ErrorMessage tests test Debug and Log components * init testing state * testing root-store * updating comments * small fixes * removed extra console logs * improve src/state/models coverage refactor rootStore rename some spies * adding cleanup method after tests * improve src/state/models coverage * improve src/state/models coverage * improve src/state/models coverage * improve src/state/models coverage * test setInterval in setupState * Clean up tests and update Home screen state management * Remove some tests we dont need * Remove snapshot tests * Remove any tests that dont demonstrate clear value * Cleanup Co-authored-by: Paul Frazee --- jest/test-utils.tsx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to 'jest/test-utils.tsx') diff --git a/jest/test-utils.tsx b/jest/test-utils.tsx index a5946ed06..c84ee637e 100644 --- a/jest/test-utils.tsx +++ b/jest/test-utils.tsx @@ -1,29 +1,27 @@ import React from 'react' -import RN from 'react-native' import {render} from '@testing-library/react-native' import {GestureHandlerRootView} from 'react-native-gesture-handler' import {RootSiblingParent} from 'react-native-root-siblings' import {SafeAreaProvider} from 'react-native-safe-area-context' -import {DEFAULT_SERVICE, RootStoreModel, RootStoreProvider} from '../src/state' -import {SessionServiceClient} from '../src/third-party/api/src' -import {sessionClient as AtpApi} from '../src/third-party/api' +import {RootStoreProvider} from '../src/state' +import {mockedRootStore} from '../__mocks__/state-mock' -const WrappedComponent = ({children}: any) => { - const api = AtpApi.service(DEFAULT_SERVICE) as SessionServiceClient - const rootStore = new RootStoreModel(api) - return ( +const customRender = (ui: any, storeMock?: any) => + render( + // eslint-disable-next-line react-native/no-inline-styles - - {children} + + {ui} - + , ) -} - -const customRender = (ui: any, options?: any) => - render(ui, {wrapper: WrappedComponent, ...options}) // re-export everything export * from '@testing-library/react-native' -- cgit 1.4.1