53 lines
1.2 KiB
TypeScript
53 lines
1.2 KiB
TypeScript
/**
|
|
* @format
|
|
*/
|
|
|
|
import React from 'react';
|
|
import ReactTestRenderer from 'react-test-renderer';
|
|
|
|
jest.mock('react-native-vision-camera', () => ({
|
|
Camera: () => null,
|
|
useCameraDevice: () => undefined,
|
|
useCameraPermission: () => ({
|
|
hasPermission: true,
|
|
requestPermission: jest.fn(async () => true),
|
|
}),
|
|
useFrameOutput: () => ({}),
|
|
}));
|
|
|
|
jest.mock('react-native-worklets', () => ({
|
|
scheduleOnRN: jest.fn(),
|
|
}));
|
|
|
|
jest.mock('react-native-haptika-ppg', () => ({
|
|
haptikaPPG: {
|
|
startMeasurement: jest.fn(),
|
|
processFrame: jest.fn(),
|
|
finishMeasurement: jest.fn(),
|
|
cancelMeasurement: jest.fn(),
|
|
getThermalState: jest.fn(() => 'nominal'),
|
|
},
|
|
haptikaHealthKit: {
|
|
isAvailable: jest.fn(() => false),
|
|
requestReadAuthorization: jest.fn(async () => false),
|
|
fetchContext: jest.fn(),
|
|
fetchLatestHeartbeatSeries: jest.fn(),
|
|
},
|
|
}));
|
|
|
|
jest.mock('@react-native-async-storage/async-storage', () => ({
|
|
__esModule: true,
|
|
default: {
|
|
getItem: jest.fn(async () => null),
|
|
setItem: jest.fn(async () => undefined),
|
|
},
|
|
}));
|
|
|
|
import App from '../App';
|
|
|
|
test('renders correctly', async () => {
|
|
await ReactTestRenderer.act(() => {
|
|
ReactTestRenderer.create(<App />);
|
|
});
|
|
});
|