59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
/**
|
|
* @format
|
|
*/
|
|
|
|
import React from 'react';
|
|
import ReactTestRenderer from 'react-test-renderer';
|
|
|
|
jest.mock('react-native-device-info', () => ({
|
|
getVersion: () => '1.0.0',
|
|
}));
|
|
|
|
jest.mock('@react-native-async-storage/async-storage', () => ({
|
|
getItem: jest.fn(() => Promise.resolve('zh')),
|
|
setItem: jest.fn(() => Promise.resolve()),
|
|
}));
|
|
|
|
jest.mock('@systemic-games/react-native-bluetooth-le', () => ({
|
|
Central: {
|
|
addListener: jest.fn(),
|
|
removeListener: jest.fn(),
|
|
stopScan: jest.fn(),
|
|
shutdown: jest.fn(),
|
|
initialize: jest.fn(),
|
|
startScan: jest.fn(),
|
|
connectPeripheral: jest.fn(),
|
|
disconnectPeripheral: jest.fn(),
|
|
readCharacteristic: jest.fn(),
|
|
writeCharacteristic: jest.fn(),
|
|
subscribeCharacteristic: jest.fn(),
|
|
unsubscribeCharacteristic: jest.fn(),
|
|
},
|
|
}));
|
|
|
|
jest.mock('@systemic-games/react-native-nordic-nrf5-dfu', () => ({
|
|
startDfu: jest.fn(),
|
|
getDfuTargetId: jest.fn(() => 'mock-device-id'),
|
|
addDfuEventListener: jest.fn(() => ({ remove: jest.fn() })),
|
|
}));
|
|
|
|
jest.mock('react-native-fs', () => ({
|
|
CachesDirectoryPath: '/tmp',
|
|
writeFile: jest.fn(),
|
|
exists: jest.fn(),
|
|
unlink: jest.fn(),
|
|
downloadFile: jest.fn(() => ({ promise: Promise.resolve({ statusCode: 200 }) })),
|
|
stat: jest.fn(),
|
|
}));
|
|
|
|
jest.mock('react-native-vector-icons/MaterialCommunityIcons', () => 'Icon');
|
|
jest.mock('../src/SplashScreen', () => 'SplashScreen');
|
|
|
|
import App from '../App';
|
|
|
|
test('renders correctly', async () => {
|
|
await ReactTestRenderer.act(() => {
|
|
ReactTestRenderer.create(<App />);
|
|
});
|
|
});
|