import { initializePageDynamically } from './support/initialize-page-dynamically' import { expectPlausibleInAction, switchByMode } from './support/test-utils' import { expect, test } from '@playwright/test' import { ScriptConfig } from './support/types' import { LOCAL_SERVER_ADDR } from './support/server' const DEFAULT_CONFIG: ScriptConfig = { domain: 'example.com', endpoint: `${LOCAL_SERVER_ADDR}/api/event`, captureOnLocalhost: false } for (const mode of ['web', 'esm']) { test.describe(`respects "logging" v2 config option (${mode})`, () => { test('if logging is not explicitly set, it is treated as true and logs are emitted on ignored events', async ({ page }, { testId }) => { const config = { ...DEFAULT_CONFIG } const consoleMessages: [string, string][] = [] page.on('console', (message) => { consoleMessages.push([message.type(), message.text()]) }) const { url } = await initializePageDynamically(page, { testId, scriptConfig: switchByMode( { web: config, esm: `` }, mode ), bodyContent: 'hello world' }) await expectPlausibleInAction(page, { action: () => page.goto(url), expectedRequests: [], refutedRequests: [{ n: 'pageview' }] }) expect(consoleMessages).toEqual([ ['warning', 'Ignoring Event: localhost'] ]) }) test('if logging is explicitly set to false, logs are not emitted on ignored events', async ({ page }, { testId }) => { const config = { ...DEFAULT_CONFIG, logging: false } const consoleMessages: [string, string][] = [] page.on('console', (message) => { consoleMessages.push([message.type(), message.text()]) }) const { url } = await initializePageDynamically(page, { testId, scriptConfig: switchByMode( { web: config, esm: `` }, mode ), bodyContent: 'hello world' }) await expectPlausibleInAction(page, { action: () => page.goto(url), expectedRequests: [], refutedRequests: [{ n: 'pageview' }] }) expect(consoleMessages).toEqual([]) }) }) }