import createBlink from '../main';
import { VERSION } from '../config/config';
import jest from 'jest-mock';

describe('Performance intregration test', () => {
  it('should send a single performance event', () => {
    const mockSend = jest.fn();
    const blink = createBlink({
      send: mockSend,
      sendDirect: mockSend,
    });

    blink.pageInit({
      url: 'https://www.lommelegen.no/a/1234',
      pageType: '',
      pageView: 'performance-test-pageview',
      site: 'www.lommelegen.no',
      referrer: 'www.dagbladet.no',
    });

    blink.performance({
      performanceTimings: {
        domContentLoadedEventEnd: 1,
        domContentLoadedEventStart: 2,
        domInteractive: 3,
        loadEventEnd: 4,
        loadEventStart: 5,
        responseEnd: 6,
        responseStart: 7,
      },
    });

    expect(mockSend.mock.calls[0][0]).toEqual([
      {
        id: 'lommelegen.no/1234',
        type: 'performance',
        performanceTimings: {
          domContentLoadedEventEnd: 1,
          domContentLoadedEventStart: 2,
          domInteractive: 3,
          loadEventEnd: 4,
          loadEventStart: 5,
          responseEnd: 6,
          responseStart: 7,
        },
        pageView: 'performance-test-pageview',
        referrer: 'www.dagbladet.no',
        site: 'www.lommelegen.no',
        version: VERSION,
      },
    ]);
  });
});
