diff --git a/src/browser/setupWorker/setupWorker.ts b/src/browser/setupWorker/setupWorker.ts index c93d2d3c..bd3be30a 100644 --- a/src/browser/setupWorker/setupWorker.ts +++ b/src/browser/setupWorker/setupWorker.ts @@ -185,10 +185,12 @@ export class SetupWorkerApi getHandlers: () => { return this.handlersController.currentHandlers() }, - onMockedConnection(connection) { - // Attach the logger for mocked connections since - // those won't be visible in the browser's devtools. - attachLogger(connection) + onMockedConnection: (connection) => { + if (!this.context.startOptions.quiet) { + // Attach the logger for mocked connections since + // those won't be visible in the browser's devtools. + attachLogger(connection) + } }, onPassthroughConnection() { /** diff --git a/test/browser/ws-api/ws.logging.browser.test.ts b/test/browser/ws-api/ws.logging.browser.test.ts index 41d968b4..14a0cbbe 100644 --- a/test/browser/ws-api/ws.logging.browser.test.ts +++ b/test/browser/ws-api/ws.logging.browser.test.ts @@ -27,6 +27,40 @@ test.afterAll(async () => { await server.close() }) +test('does not log anything if "quiet" was set to "true"', async ({ + loadExample, + page, + spyOnConsole, +}) => { + const consoleSpy = spyOnConsole() + await loadExample(require.resolve('./ws.runtime.js'), { + skipActivation: true, + }) + + await page.evaluate(async () => { + const { setupWorker, ws } = window.msw + const api = ws.link('wss://example.com/*') + const worker = setupWorker(api.on('connection', () => {})) + await worker.start({ quiet: true }) + }) + + await page.evaluate(() => { + const ws = new WebSocket('wss://example.com/path') + ws.onopen = () => { + ws.send('hello') + ws.send('world') + queueMicrotask(() => ws.close()) + } + + return new Promise((resolve, reject) => { + ws.onclose = () => resolve() + ws.onerror = () => reject(new Error('Client connection closed')) + }) + }) + + expect(consoleSpy.get('startGroupCollapsed')).toBeUndefined() +}) + test('logs the client connection', async ({ loadExample, page,