mk9-prebid
Version:
Header Bidding Management Library
66 lines (51 loc) • 2.56 kB
JavaScript
import { tapadIdSubmodule, graphUrl } from 'modules/tapadIdSystem.js';
import * as utils from 'src/utils.js';
import { server } from 'test/mocks/xhr.js';
describe('TapadIdSystem', function () {
describe('getId', function() {
const config = { params: { companyId: 12345 } };
it('should call to real time graph endpoint and handle valid response', function() {
const callbackSpy = sinon.spy();
const callback = tapadIdSubmodule.getId(config).callback;
callback(callbackSpy);
const request = server.requests[0];
expect(request.url).to.eq(`${graphUrl}?company_id=12345&tapad_id_type=TAPAD_ID`);
request.respond(200, { 'Content-Type': 'application/json' }, JSON.stringify({ tapadId: 'your-tapad-id' }));
expect(callbackSpy.lastCall.lastArg).to.eq('your-tapad-id');
});
it('should remove stored tapadId if not found', function() {
const callbackSpy = sinon.spy();
const callback = tapadIdSubmodule.getId(config).callback;
callback(callbackSpy);
const request = server.requests[0];
request.respond(404);
expect(callbackSpy.lastCall.lastArg).to.be.undefined;
});
it('should log message with invalid company id', function() {
const logMessageSpy = sinon.spy(utils, 'logMessage');
const callbackSpy = sinon.spy();
const callback = tapadIdSubmodule.getId(config).callback;
callback(callbackSpy);
const request = server.requests[0];
request.respond(403);
expect(logMessageSpy.lastCall.lastArg).to.eq('Invalid Company Id. Contact prebid@tapad.com for assistance.');
logMessageSpy.restore();
});
it('should log message if company id not given', function() {
const logMessageSpy = sinon.spy(utils, 'logMessage');
const callbackSpy = sinon.spy();
const callback = tapadIdSubmodule.getId({}).callback;
callback(callbackSpy);
expect(logMessageSpy.lastCall.lastArg).to.eq('Please provide a valid Company Id. Contact prebid@tapad.com for assistance.');
logMessageSpy.restore();
});
it('should log message if company id is incorrect format', function() {
const logMessageSpy = sinon.spy(utils, 'logMessage');
const callbackSpy = sinon.spy();
const callback = tapadIdSubmodule.getId({ params: { companyId: 'notANumber' } }).callback;
callback(callbackSpy);
expect(logMessageSpy.lastCall.lastArg).to.eq('Please provide a valid Company Id. Contact prebid@tapad.com for assistance.');
logMessageSpy.restore();
});
});
})