🏡 index : quine-global/webdriverio.git

import { EventEmitter } from 'node:events'
import { expect, test, vi } from 'vitest'
import type { CDPSession } from 'puppeteer-core/lib/esm/puppeteer/common/Connection.js'

import NetworkHandler from '../../src/handler/network.js'

import eventLog from '../__fixtures__/events.json' with { type: 'json' }

vi.mock('puppeteer-core/lib/esm/puppeteer/common/Connection.js')

class MyEmitter extends EventEmitter {}

test('network handler', () => {
    const cdpMock = new MyEmitter()
    const handler = new NetworkHandler(cdpMock as unknown as CDPSession)

    eventLog.forEach((log) => {
        if (!log.method) {
            return
        }

        cdpMock.emit(log.method, log.params)
    })

    expect(handler.requestTypes).toEqual({
        Document: { size: 24714, encoded: 0, count: 1 },
        Other: { size: 311, encoded: 311, count: 8 }
    })
})