import { fileURLToPath } from 'node:url' import { afterEach, describe, expect, it, vi } from 'vitest' import { normalize } from 'pathe' import { withoutTrailingSlash } from 'ufo' import { loadNuxt } from '../src' const repoRoot = withoutTrailingSlash(normalize(fileURLToPath(new URL('../../../', import.meta.url)))) vi.stubGlobal('console', { ...console, error: vi.fn(console.error), warn: vi.fn(console.warn), }) vi.mock('pkg-types', async (og) => { const originalPkgTypes = (await og()) return { ...originalPkgTypes, readPackageJSON: vi.fn(originalPkgTypes.readPackageJSON), } }) afterEach(() => { vi.clearAllMocks() }) describe('loadNuxt', () => { it('respects hook overrides', async () => { let hookRan = false const nuxt = await loadNuxt({ cwd: repoRoot, ready: true, overrides: { hooks: { ready () { hookRan = true }, }, }, }) await nuxt.close() expect(hookRan).toBe(true) }) })