Skip to content

Latest commit

 

History

History
39 lines (29 loc) · 2.5 KB

File metadata and controls

39 lines (29 loc) · 2.5 KB
name tests-native
description Use when writing component or hook tests in suite-native and need to choose between renderWithBasicProvider, renderWithStoreProvider, or store helpers like createStoreFromPreloadedState, createLightStore, or mergePreloadedState.

Native Test Utilities

Two packages provide testing utilities for suite-native. Pick the one that fits your test:

Need Package
Component or hook test with no Redux store @suite-native/test-utils
Component or hook test that reads from or dispatches to a Redux store @suite-native/test-utils-store

Never import directly from @testing-library/react-native — both packages re-export it.

@suite-native/test-utils

Provides renderWithBasicProvider and renderHookWithBasicProvider, which wrap the component with theme, safe-area, intl, and formatters providers. Also exports BasicProviderForTests, extraDependenciesNativeMock, and all of @testing-library/react-native.

BasicProviderForTests is the underlying wrapper component used by both render helpers. Use it directly only when you need to pass it as a wrapper option to a custom render or hook call — for example, when composing your own render helper or when the testing-library API requires a wrapper component rather than a pre-rendered tree.

@suite-native/test-utils-store

Extends @suite-native/test-utils with Redux support. Provides renderWithStoreProvider and renderHookWithStoreProvider — both accept the same options: preloadedState?: Record<string, unknown> or a pre-built store?: TestStore. Plus store factory helpers:

  • createStoreFromPreloadedState(preloadedState?) — static (no-op) reducers; use when the test only reads state.
  • createLightStore({ reducer, preloadedState }) — real reducers; use when the test dispatches actions that must mutate state.
  • createStaticReducer(initialState) — creates a no-op reducer for slices the test does not interact with.
  • mergePreloadedState(base, overrides) — deep-merges a partial overrides into a complete typed base state object and returns it typed as base. Use this to build the preloadedState arg: start from a fully-constructed state (e.g. the result of store.getState() on a default store) and override only the slices the test cares about.