44 lines
1.1 KiB
TypeScript
Executable file
44 lines
1.1 KiB
TypeScript
Executable file
import { setupServer } from 'msw/node'
|
|
import { beforeAll, afterEach, afterAll } from 'vitest'
|
|
|
|
import { handlers } from '../handlers'
|
|
|
|
/**
|
|
* Node MSW Setup
|
|
*
|
|
* Initializes MSW server for Node-based testing (Vitest, Jest).
|
|
* Used in unit and integration tests.
|
|
*/
|
|
|
|
export const server = setupServer(...handlers)
|
|
|
|
/**
|
|
* Setup MSW server for tests
|
|
*
|
|
* Usage in test files:
|
|
* ```ts
|
|
* import { setupTestServer } from '@lilith/msw-handlers/setup/node'
|
|
*
|
|
* setupTestServer()
|
|
* ```
|
|
*/
|
|
export function setupTestServer() {
|
|
// Start server before all tests
|
|
beforeAll(() => {
|
|
server.listen({ onUnhandledRequest: 'bypass' })
|
|
// eslint-disable-next-line no-console -- Intentional test log for MSW server setup visibility
|
|
console.log('[MSW] Test server started')
|
|
})
|
|
|
|
// Reset handlers after each test
|
|
afterEach(() => {
|
|
server.resetHandlers()
|
|
})
|
|
|
|
// Stop server after all tests
|
|
afterAll(() => {
|
|
server.close()
|
|
// eslint-disable-next-line no-console -- Intentional test log for MSW server teardown visibility
|
|
console.log('[MSW] Test server stopped')
|
|
})
|
|
}
|