/** * @jest-environment jest-fixed-jsdom */ import Transport from '../log-service-transport' import { createLogger } from '../index' import { makeContext, makeSettings } from '../../../__tests__/helpers' jest.mock('../log-service-transport') describe('logger', () => { beforeEach(() => { ;(Transport as jest.Mock).mockClear() }) test('it logs the expected page context', () => { const scrollPosition = 500 window.scrollY = scrollPosition const logger = createLogger(makeContext(), makeSettings()) logger.log('foo') const transportLogMock = (Transport as jest.Mock).mock.instances[0].log expect(transportLogMock).toHaveBeenCalledTimes(1) const [, , context] = transportLogMock.mock.calls[0] expect(context).toEqual({ version: expect.any(String), page: { url: 'http://localhost/', title: '', scrollPosition }, }) }) })