import { VERSION } from '../../config/config';
import { BlinkEvent } from '../../types';
import prepareVideoAdForSending, {
  PrepareVideoAdEventInput,
} from '../prepare-video-ad-event';

describe('prepareVideoAdEvent', () => {
  it('should format properly based on state', () => {
    const input: PrepareVideoAdEventInput = {
      page: {
        id: 'default',
        state: {
          general: {
            pageView: 'some-pageview-uuid',
            site: 'www.dagbladet.no',
            referrer: 'www.dinside.no',
          },
        },
      },
      videoId: '123',
      time: new Date(2),
      adPosition: 'mid',
      system: 'DFP',
      title: 'My fake ad',
      client: 'googima',
      viewable: 1,
      adId: '988',
      isBumper: false,
      creativeId: '345',
      duration: 12,
    };

    const expected: BlinkEvent = {
      type: 'videoAd',
      pageView: 'some-pageview-uuid',
      site: 'www.dagbladet.no',
      referrer: 'www.dinside.no',
      version: VERSION,
      id: '123',
      videoId: '123',
      time: new Date(2),
      videoAdPosition: 'mid',
      system: 'DFP',
      title: 'My fake ad',
      client: 'googima',
      viewable: 1,
      adId: '988',
      isBumper: false,
      creativeId: '345',
      duration: 12,
    };

    expect(prepareVideoAdForSending(input)).toEqual(expected);
  });
});
