it('should attache params to the request', () => { const request = spec.buildRequests(bidRequests)[0]; expect(request.data['location_id']).to.equal(data['location_id']); expect(request.data['site_id']).to.equal(data['site_id']); expect(request.data['transaction_id']).to.equal(data['transaction_id']); expect(request.data['bid_id']).to.equal(data['bid_id']); });
it('should return false when required params(site_id) are not passed', () => { let bid = Object.assign({}, bid); delete bid.params; bid.params = { location_id: '1' }; expect(spec.isBidRequestValid(bid)).to.equal(false); });
it('handles banner responses', () => { const result = spec.interpretResponse({body: serverResponse.banner}, bidRequests.banner)[0]; expect(result.requestId).to.equal(bidResponses.banner.requestId); expect(result.width).to.equal(bidResponses.banner.width); expect(result.height).to.equal(bidResponses.banner.height); expect(result.creativeId).to.equal(bidResponses.banner.creativeId); expect(result.currency).to.equal(bidResponses.banner.currency); expect(result.netRevenue).to.equal(bidResponses.banner.netRevenue); expect(result.ttl).to.equal(bidResponses.banner.ttl); expect(result.referrer).to.equal(bidResponses.banner.referrer); expect(result.ad).to.equal(bidResponses.banner.ad); });
it('handles native responses', () => { const result = spec.interpretResponse({body: serverResponse.native}, bidRequests.native)[0]; expect(result.requestId).to.equal(bidResponses.native.requestId); expect(result.creativeId).to.equal(bidResponses.native.creativeId); expect(result.currency).to.equal(bidResponses.native.currency); expect(result.netRevenue).to.equal(bidResponses.native.netRevenue); expect(result.ttl).to.equal(bidResponses.native.ttl); expect(result.referrer).to.equal(bidResponses.native.referrer); expect(result.native.title).to.equal(bidResponses.native.native.title); expect(result.native.body).to.equal(bidResponses.native.native.body); expect(result.native.sponsoredBy).to.equal(bidResponses.native.native.sponsoredBy); expect(result.native.image.url).to.equal(bidResponses.native.native.image.url); expect(result.native.image.width).to.equal(bidResponses.native.native.image.width); expect(result.native.image.height).to.equal(bidResponses.native.native.image.height); expect(result.native.clickUrl).to.equal(bidResponses.native.native.clickUrl); expect(result.native.impressionTrackers[0]).to.equal(bidResponses.native.native.impressionTrackers[0]); expect(result.native.clickTrackers[0]).to.equal(bidResponses.native.native.clickTrackers[0]); });
it('no bidRequests', () => { const noBidRequests = []; expect(Object.keys(spec.buildRequests(noBidRequests)).length).to.equal(0); });
it('no bid responses', () => { const result = spec.interpretResponse({body: serverResponse.noAd}, bidRequests.banner); expect(result.length).to.equal(0); });
it('should return true when required params found', () => { expect(spec.isBidRequestValid(bid)).to.equal(true); });
it('sends bid request to VALID_ENDPOINT via POST', () => { const request = spec.buildRequests(bidRequests)[0]; expect(request.url).to.equal(VALID_ENDPOINT); expect(request.method).to.equal('POST'); });