Skip to content

Latest commit

History

History
77 lines (60 loc) 路 2.23 KB

File metadata and controls

77 lines (60 loc) 路 2.23 KB

VITE

VITE

TOOLS

VITEST

VITE+

ANGULAR

TO VITE/VITEST

MOCKS

GLOBAL

// from: https://www.bitovi.com/blog/more-mocks-mocking-modules-in-vitest
import type * as NavigationModule from './navigation';
vi.mock('./navigation', async () => { // <- now async
  // Use the `importActual` method and await it.
  const actualModule = await vi.importActual<typeof NavigationModule>('./navigation');
  return {
    ...actualModule,
    calculateRoute: (from, to, starDateTimeSeconds, setLastError) => {
      const err = actualModule.errorIdToErrorData(mockErrorId);
      setLastError(err);
    },
  };
});

HOISTED

// https://github.com/vitest-dev/vitest/discussions/4124
const fsMock = vi.hoisted(() => ({
  existsSync: vi.fn().mockReturnValue(false),
}));
vi.mock('fs', async () => fsMock);
// first it() use false
fsMock.existsSync.mockReturnValue(false);
// second it() use true
fsMock.existsSync.mockReturnValue(true);