diff --git a/examples/playwright/test/basic.test.ts b/examples/playwright/test/basic.test.ts index 44cee93046d7..4c6631c55b81 100644 --- a/examples/playwright/test/basic.test.ts +++ b/examples/playwright/test/basic.test.ts @@ -20,9 +20,10 @@ describe.runIf(process.platform !== 'win32')('basic', async () => { }) afterAll(async () => { - await browser.close() + // hook timed out and we already have another error + await browser?.close() await new Promise((resolve, reject) => { - server.httpServer.close(error => error ? reject(error) : resolve()) + server?.httpServer.close(error => error ? reject(error) : resolve()) }) }) diff --git a/packages/vitest/src/node/plugins/index.ts b/packages/vitest/src/node/plugins/index.ts index 09969d21f1bf..c0b1d9b237b0 100644 --- a/packages/vitest/src/node/plugins/index.ts +++ b/packages/vitest/src/node/plugins/index.ts @@ -45,8 +45,8 @@ export async function VitestPlugin(options: UserConfig = {}, ctx = new Vitest('t const testConfig = deepMerge( {} as UserConfig, configDefaults, - options, removeUndefinedValues(viteConfig.test ?? {}), + options, ) testConfig.api = resolveApiServerConfig(testConfig) diff --git a/test/config/test/resolution.test.ts b/test/config/test/resolution.test.ts index 63d6009dbfc3..f36b522e5831 100644 --- a/test/config/test/resolution.test.ts +++ b/test/config/test/resolution.test.ts @@ -235,3 +235,31 @@ describe('correctly defines inline and noExternal flags', async () => { ]) }) }) + +describe('correctly defines api flag', () => { + it('CLI overrides disabling api', async () => { + const c = await vitest({ api: false }, { + api: { + port: 1234, + }, + watch: true, + }) + expect(c.server.config.server.middlewareMode).toBe(true) + expect(c.config.api).toEqual({ + middlewareMode: true, + }) + }) + + it('CLI overrides inlined value', async () => { + const c = await vitest({ api: { port: 4321 } }, { + api: { + port: 1234, + }, + watch: true, + }) + expect(c.server.config.server.port).toBe(4321) + expect(c.config.api).toEqual({ + port: 4321, + }) + }) +})