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

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

    // First send of a pageInit event, to set the general state
    blink.pageInit({
      url: 'http://some.site',
      pageView: 'the-pageview-id',
      referrer: 'www.sol.no',
      site: 'www.dagbladet.no',
    });

    blink.articlePreviewScreenEnter({
      context: ['tag=a', 'tag=article&class=important'],
      url: 'https://www.dagbladet.no/sport/em-stjerner-gnir-seg-i-oynene-over-warholm-stunt---helt-umenneskelig/70083960',
      title:
        'EM-stjerner gnir seg i øynene over Warholm-stunt: - Helt umenneskelig',
      personalizationSystemUsed: 'cerebro',
      personalizationParametersRequested:
        'xavier-plussutvalgt&reset_weights=1&weight_cf=0.4&weight_tpm=0.3&weight_age=0.3',
    });

    expect(mockSend.mock.calls[0][0]).toEqual([
      {
        type: 'impression',
        context: ['tag=a', 'tag=article&class=important'],
        pageView: 'the-pageview-id',
        site: 'www.dagbladet.no',
        referrer: 'www.sol.no',
        version: VERSION,
        id: 'dagbladet.no/70083960',
        article: {
          url: 'https://www.dagbladet.no/sport/em-stjerner-gnir-seg-i-oynene-over-warholm-stunt---helt-umenneskelig/70083960',
          harvesterId: 'dagbladet.no/70083960',
        },
        title:
          'EM-stjerner gnir seg i øynene over Warholm-stunt: - Helt umenneskelig',
        height: 0,
        width: 0,
        personalizationSystemUsed: 'cerebro',
        personalizationParametersRequested:
          'xavier-plussutvalgt&reset_weights=1&weight_cf=0.4&weight_tpm=0.3&weight_age=0.3',
      },
    ]);
  });
});
