From 8aec36220427606c25bcf1faaa1ca25d95026a38 Mon Sep 17 00:00:00 2001 From: Jaimin Panchal Date: Tue, 20 Mar 2018 16:46:15 -0400 Subject: [PATCH] Unit test fixes (#2301) --- .../modules/audienceNetworkBidAdapter_spec.js | 22 +++++++++---------- .../modules/eplanningAnalyticsAdapter_spec.js | 15 ++++++++----- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/test/spec/modules/audienceNetworkBidAdapter_spec.js b/test/spec/modules/audienceNetworkBidAdapter_spec.js index 7626780afb3..41a6d955c6a 100644 --- a/test/spec/modules/audienceNetworkBidAdapter_spec.js +++ b/test/spec/modules/audienceNetworkBidAdapter_spec.js @@ -4,6 +4,7 @@ import { expect } from 'chai'; import { spec } from 'modules/audienceNetworkBidAdapter'; +import * as utils from 'src/utils'; const { code, @@ -117,6 +118,15 @@ describe('AudienceNetwork adapter', () => { }); describe('buildRequests', () => { + let isSafariBrowserStub; + before(() => { + isSafariBrowserStub = sinon.stub(utils, 'isSafariBrowser'); + }); + + after(() => { + isSafariBrowserStub.restore(); + }); + it('can build URL for IAB unit', () => { expect(buildRequests([{ bidder, @@ -191,23 +201,13 @@ describe('AudienceNetwork adapter', () => { }); it('can build URL on Safari that includes a cachebuster param', () => { - const { userAgent } = navigator; - Object.defineProperty(navigator, 'userAgent', { - value: 'safari', - writable: true - }); - + isSafariBrowserStub.returns(true); expect(buildRequests([{ bidder, bidId: requestId, sizes: [[300, 250]], params: { placementId } }])[0].data).to.contain('&cb='); - - Object.defineProperty(navigator, 'userAgent', { - value: userAgent, - writable: false - }); }); }); diff --git a/test/spec/modules/eplanningAnalyticsAdapter_spec.js b/test/spec/modules/eplanningAnalyticsAdapter_spec.js index 04a7d65e12a..aba68efc27b 100644 --- a/test/spec/modules/eplanningAnalyticsAdapter_spec.js +++ b/test/spec/modules/eplanningAnalyticsAdapter_spec.js @@ -1,5 +1,7 @@ import eplAnalyticsAdapter from 'modules/eplanningAnalyticsAdapter'; +import includes from 'core-js/library/fn/array/includes'; import { expect } from 'chai'; +import {parse as parseURL} from 'src/url'; let adaptermanager = require('src/adaptermanager'); let events = require('src/events'); let constants = require('src/constants.json'); @@ -112,16 +114,17 @@ describe('eplanning analytics adapter', () => { events.emit(constants.EVENTS.AUCTION_END, {auctionId: pauctionId}); // Step 7: Find the request data sent (filtering other hosts) - requests = requests.filter(req => req.url.includes(initOptions.host)); - + requests = requests.filter(req => { + return req.url.indexOf(initOptions.host) > -1; + }); expect(requests.length).to.equal(1); - expect(requests[0].url.includes(initOptions.host + initOptions.ci)); - expect(requests[0].url.includes('https://ads.ar.e-planning.net/hba/1/12345?d=')); + expect(includes([initOptions.host + initOptions.ci], requests[0].url)); + expect(includes(['https://ads.ar.e-planning.net/hba/1/12345?d='], requests[0].url)); let info = requests[0].url; - let purl = new URL(info); - let eplData = JSON.parse(decodeURIComponent(purl.searchParams.get('d'))); + let purl = parseURL(info); + let eplData = JSON.parse(decodeURIComponent(purl.search.d)); // Step 8 check that 6 events were sent expect(eplData.length).to.equal(6);