forked from
npmx.dev/npmx.dev
[READ-ONLY]
a fast, modern browser for the npm registry
1/**
2 * Playwright global setup - starts the mock connector server before all tests.
3 *
4 * Returns an async teardown function (Playwright's recommended pattern for
5 * sharing state between setup and teardown via closure).
6 */
7
8// eslint-disable no-console
9
10import { MockConnectorServer, DEFAULT_MOCK_CONFIG } from './helpers/mock-connector'
11
12export default async function globalSetup() {
13 console.log('[Global Setup] Starting mock connector server...')
14
15 const mockServer = new MockConnectorServer(DEFAULT_MOCK_CONFIG)
16
17 try {
18 await mockServer.start()
19 console.log(`[Global Setup] Mock connector ready at http://127.0.0.1:${mockServer.port}`)
20 console.log(`[Global Setup] Test token: ${mockServer.token}`)
21 } catch (error) {
22 console.error('[Global Setup] Failed to start mock connector:', error)
23 throw error
24 }
25
26 // Return teardown function — Playwright calls this after all tests complete
27 return async () => {
28 console.log('[Global Teardown] Stopping mock connector server...')
29 try {
30 await mockServer.stop()
31 } catch (error) {
32 console.error('[Global Teardown] Error stopping mock connector:', error)
33 }
34 }
35}