Finished testing implementation
This commit is contained in:
128
FastNotes/jest.setup.ts
Normal file
128
FastNotes/jest.setup.ts
Normal file
@@ -0,0 +1,128 @@
|
||||
import "react-native-gesture-handler/jestSetup"
|
||||
|
||||
import { cleanup } from "@testing-library/react-native"
|
||||
import mockSafeAreaContext from "react-native-safe-area-context/jest/mock"
|
||||
|
||||
afterEach(() => {
|
||||
cleanup()
|
||||
})
|
||||
|
||||
jest.mock("@react-native-async-storage/async-storage", () =>
|
||||
require("@react-native-async-storage/async-storage/jest/async-storage-mock")
|
||||
)
|
||||
|
||||
jest.mock("expo-constants", () => {
|
||||
const mockConstants = {
|
||||
expoConfig: {
|
||||
extra: {
|
||||
supabaseUrl: "https://example.supabase.co",
|
||||
supabaseKey: "test-anon-key",
|
||||
},
|
||||
},
|
||||
executionEnvironment: "standalone",
|
||||
}
|
||||
|
||||
return {
|
||||
__esModule: true,
|
||||
default: mockConstants,
|
||||
...mockConstants,
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock("react-native-safe-area-context", () => mockSafeAreaContext)
|
||||
|
||||
jest.mock("react-native-reanimated", () => {
|
||||
const Reanimated = require("react-native-reanimated/mock")
|
||||
Reanimated.default.call = () => {}
|
||||
return Reanimated
|
||||
})
|
||||
|
||||
jest.mock("react-native-screens", () => {
|
||||
const React = require("react")
|
||||
const { View } = require("react-native")
|
||||
|
||||
const MockScreen = ({ children }: { children?: unknown }) => React.createElement(View, null, children)
|
||||
|
||||
return {
|
||||
__esModule: true,
|
||||
default: MockScreen,
|
||||
compatibilityFlags: {
|
||||
usesNewAndroidHeaderHeightImplementation: false,
|
||||
},
|
||||
Screen: MockScreen,
|
||||
ScreenContainer: MockScreen,
|
||||
ScreenStack: MockScreen,
|
||||
ScreenStackItem: MockScreen,
|
||||
ScreenStackHeaderConfig: MockScreen,
|
||||
ScreenStackHeaderBackButtonImage: MockScreen,
|
||||
ScreenStackHeaderCenterView: MockScreen,
|
||||
ScreenStackHeaderLeftView: MockScreen,
|
||||
ScreenStackHeaderRightView: MockScreen,
|
||||
ScreenStackHeaderSearchBarView: MockScreen,
|
||||
SearchBar: MockScreen,
|
||||
NativeScreen: MockScreen,
|
||||
NativeScreenContainer: MockScreen,
|
||||
FullWindowOverlay: MockScreen,
|
||||
Freeze: MockScreen,
|
||||
enableScreens: jest.fn(),
|
||||
isSearchBarAvailableForCurrentPlatform: jest.fn(() => false),
|
||||
screensEnabled: jest.fn(),
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock("expo-blur", () => {
|
||||
const React = require("react")
|
||||
const { View } = require("react-native")
|
||||
|
||||
return {
|
||||
BlurView: ({ children, style }: { children?: unknown; style?: object }) =>
|
||||
React.createElement(View, { style }, children),
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock("expo-image", () => {
|
||||
const React = require("react")
|
||||
const { View } = require("react-native")
|
||||
|
||||
return {
|
||||
Image: ({ style, testID }: { style?: object; testID?: string }) =>
|
||||
React.createElement(View, { style, testID: testID ?? "mock-expo-image" }),
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock("expo-image-picker", () => ({
|
||||
CameraType: {
|
||||
back: "back",
|
||||
},
|
||||
getMediaLibraryPermissionsAsync: jest.fn(async () => ({ granted: true })),
|
||||
requestMediaLibraryPermissionsAsync: jest.fn(async () => ({ granted: true })),
|
||||
launchImageLibraryAsync: jest.fn(async () => ({ canceled: true, assets: [] })),
|
||||
getCameraPermissionsAsync: jest.fn(async () => ({ granted: true })),
|
||||
requestCameraPermissionsAsync: jest.fn(async () => ({ granted: true })),
|
||||
launchCameraAsync: jest.fn(async () => ({ canceled: true, assets: [] })),
|
||||
}))
|
||||
|
||||
jest.mock("expo-image-manipulator", () => ({
|
||||
SaveFormat: {
|
||||
PNG: "png",
|
||||
WEBP: "webp",
|
||||
JPEG: "jpeg",
|
||||
},
|
||||
manipulateAsync: jest.fn(async (uri: string) => ({ uri })),
|
||||
}))
|
||||
|
||||
jest.mock("@react-navigation/elements", () => {
|
||||
const actual = jest.requireActual("@react-navigation/elements")
|
||||
|
||||
return {
|
||||
...actual,
|
||||
useHeaderHeight: () => 0,
|
||||
}
|
||||
})
|
||||
|
||||
jest.mock("@/src/notifications/PushNotificationsProvider", () => ({
|
||||
__esModule: true,
|
||||
default: ({ children }: { children?: unknown }) => children,
|
||||
}))
|
||||
|
||||
jest.mock("react-native/Libraries/Animated/NativeAnimatedHelper", () => ({}), { virtual: true })
|
||||
Reference in New Issue
Block a user