59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
|
|
// we always make sure 'react-native' gets included first
|
||
|
|
// eslint-disable-next-line no-restricted-imports
|
||
|
|
import * as ReactNative from "react-native"
|
||
|
|
|
||
|
|
import mockFile from "./mockFile"
|
||
|
|
|
||
|
|
// libraries to mock
|
||
|
|
jest.doMock("react-native", () => {
|
||
|
|
// Extend ReactNative
|
||
|
|
return Object.setPrototypeOf(
|
||
|
|
{
|
||
|
|
Image: {
|
||
|
|
...ReactNative.Image,
|
||
|
|
resolveAssetSource: jest.fn((_source) => mockFile), // eslint-disable-line @typescript-eslint/no-unused-vars
|
||
|
|
getSize: jest.fn(
|
||
|
|
(
|
||
|
|
uri: string, // eslint-disable-line @typescript-eslint/no-unused-vars
|
||
|
|
success: (width: number, height: number) => void,
|
||
|
|
failure?: (_error: any) => void, // eslint-disable-line @typescript-eslint/no-unused-vars
|
||
|
|
) => success(100, 100),
|
||
|
|
),
|
||
|
|
},
|
||
|
|
},
|
||
|
|
ReactNative,
|
||
|
|
)
|
||
|
|
})
|
||
|
|
|
||
|
|
jest.mock("i18next", () => ({
|
||
|
|
currentLocale: "en",
|
||
|
|
t: (key: string, params: Record<string, string>) => {
|
||
|
|
return `${key} ${JSON.stringify(params)}`
|
||
|
|
},
|
||
|
|
translate: (key: string, params: Record<string, string>) => {
|
||
|
|
return `${key} ${JSON.stringify(params)}`
|
||
|
|
},
|
||
|
|
}))
|
||
|
|
|
||
|
|
jest.mock("expo-localization", () => ({
|
||
|
|
...jest.requireActual("expo-localization"),
|
||
|
|
getLocales: () => [{ languageTag: "en-US", textDirection: "ltr" }],
|
||
|
|
}))
|
||
|
|
|
||
|
|
jest.mock("../app/i18n/index.ts", () => ({
|
||
|
|
i18n: {
|
||
|
|
isInitialized: true,
|
||
|
|
language: "en",
|
||
|
|
t: (key: string, params: Record<string, string>) => {
|
||
|
|
return `${key} ${JSON.stringify(params)}`
|
||
|
|
},
|
||
|
|
numberToCurrency: jest.fn(),
|
||
|
|
},
|
||
|
|
}))
|
||
|
|
|
||
|
|
declare const tron // eslint-disable-line @typescript-eslint/no-unused-vars
|
||
|
|
|
||
|
|
declare global {
|
||
|
|
let __TEST__: boolean
|
||
|
|
}
|