migrate pure-logic tests to vitest (phase 1)

This commit is contained in:
Samuel Newman
2026-06-29 18:11:31 +03:00
parent dd85eb0b07
commit a70caf1829
25 changed files with 280 additions and 63 deletions
+33
View File
@@ -0,0 +1,33 @@
/*
* Stub for the bare `expo` package. Importing the real entry runs Expo's
* "winter" runtime side-effect, which does bare CJS requires (./TextDecoder
* etc) that don't resolve under Vitest's node environment. Node already
* provides TextDecoder and friends, so we just need the named exports
* test-reachable code pulls from `expo`.
*
* Aliased in place of `expo` via resolve.alias in vitest.config.ts.
*/
import {vi} from 'vitest'
export function requireNativeModule(moduleName: string) {
if (moduleName === 'ExpoPlatformInfo') {
return {getIsReducedMotionEnabled: () => false}
}
if (moduleName === 'BottomSheet') {
return {dismissAll: () => {}}
}
return {}
}
export function requireOptionalNativeModule() {
return null
}
export const requireNativeView = vi.fn(() => () => null)
export class NativeModule {}
export class SharedObject {}
export class SharedRef {}
export const useEvent = vi.fn()
export const useEventListener = vi.fn()