Trackunit react-test-setup
Testing utility package that provides common setup functions for React applications. This library contains general setup files necessary for tests to run, which are not app-specific.
This library is exposed publicly for use in the Trackunit Iris App SDK.
To browse all avaliable components visit our Public Storybook.
For more info and a full guide on Iris App SDK Development, please visit our Developer Hub.
Usage
Convenience setup functions
You can choose between different levels of setup based on your needs:
Basic mocks (lightweight)
Use the setupBasicMocks
function to set up only essential mocks without external library dependencies:
// In your jest setup file (e.g., jest.setup.js)
import { setupBasicMocks } from '@trackunit/react-test-setup';
setupBasicMocks();
This sets up Canvas, IntersectionObserver, MatchMedia, ResizeObserver, timers, and Web Streams mocks - perfect for most basic React testing needs.
Default mocks (recommended)
Use the setupDefaultMocks
function to set up a balanced set of mocks that work for most React applications:
// In your jest setup file (e.g., jest.setup.js)
import { setupDefaultMocks } from '@trackunit/react-test-setup';
setupDefaultMocks();
This includes everything in setupBasicMocks
plus React Testing Library and translations mocks - ideal for most React applications using i18n.
All mocks (comprehensive)
Use the setupAllMocks
function to set up all available mocks in one call:
// In your jest setup file (e.g., jest.setup.js)
import { setupAllMocks } from '@trackunit/react-test-setup';
setupAllMocks();
This includes everything in setupDefaultMocks
plus mocks for Google Maps, React Helmet, React Virtualized, and TanStack Virtual.
Individual setup functions
If you need more control, you can use the individual setup functions:
// In your jest setup file
import {
setupCanvasMock,
setupFailOnConsole,
setupGoogleMaps,
// ... other setup functions as needed
} from '@trackunit/react-test-setup';
// Set up only what you need
setupCanvasMock();
setupFailOnConsole();
// ... etc.
All setup functions are thoroughly documented with JSDoc comments that explain their purpose and usage.
Development
At this point this library is only developed by Trackunit Employees. For development related information see the development readme.
Trackunit
This package was developed by Trackunit ApS. Trackunit is the leading SaaS-based IoT solution for the construction industry, offering an ecosystem of hardware, fleet management software & telematics.