Skip to content

Commit

Permalink
SmartyTech Bid Adapter : add size parameters (#9692)
Browse files Browse the repository at this point in the history
* Add new bid adapter for company smartytech

* change domain to prod

* update unit tests

* remove unused code

* remove unused code

* add video type

* update documentation

* Bump tibdex/github-app-token from 1.7.0 to 1.8.0

Bumps [tibdex/github-app-token](https://github.com/tibdex/github-app-token) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/tibdex/github-app-token/releases)
- [Commits](tibdex/github-app-token@021a240...b625283)

---
updated-dependencies:
- dependency-name: tibdex/github-app-token
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* add ability to force set banner size

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
preved-medved and dependabot[bot] authored Mar 20, 2023
1 parent e168e90 commit a69bf7c
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 7 deletions.
9 changes: 9 additions & 0 deletions modules/smartytechBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ export const spec = {
const bidRequests = validBidRequests.map((validBidRequest) => {
let video = deepAccess(validBidRequest, 'mediaTypes.video', false);
let banner = deepAccess(validBidRequest, 'mediaTypes.banner', false);
let sizes = validBidRequest.params.sizes;

let oneRequest = {
endpointId: validBidRequest.params.endpointId,
Expand All @@ -67,8 +68,16 @@ export const spec = {

if (video) {
oneRequest.video = video;

if (sizes) {
oneRequest.video.sizes = sizes;
}
} else if (banner) {
oneRequest.banner = banner;

if (sizes) {
oneRequest.banner.sizes = sizes;
}
}

return oneRequest
Expand Down
51 changes: 44 additions & 7 deletions test/spec/modules/smartytechBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -138,10 +138,13 @@ function mockRandomSizeArray(len) {
});
}

function mockBidRequestListData(mediaType, size) {
function mockBidRequestListData(mediaType, size, customSizes) {
return Array.apply(null, {length: size}).map((i, index) => {
const id = Math.floor(Math.random() * 800) * (index + 1);
let mediaTypes;
let params = {
endpointId: id
}

if (mediaType == 'video') {
mediaTypes = {
Expand All @@ -158,13 +161,15 @@ function mockBidRequestListData(mediaType, size) {
}
}

if (customSizes === undefined || customSizes.length > 0) {
params.sizes = customSizes
}

return {
adUnitCode: `adUnitCode-${id}`,
mediaTypes: mediaTypes,
bidId: `bidId-${id}`,
params: {
endpointId: id
}
params: params
}
});
}
Expand Down Expand Up @@ -211,7 +216,7 @@ describe('SmartyTechDSPAdapter: buildRequests', () => {
let mockBidRequest;
let mockReferer;
beforeEach(() => {
mockBidRequest = mockBidRequestListData('banner', 8);
mockBidRequest = mockBidRequestListData('banner', 8, []);
mockReferer = mockRefererData();
});
it('has return data', () => {
Expand All @@ -238,13 +243,45 @@ describe('SmartyTechDSPAdapter: buildRequests', () => {
});
});

describe('SmartyTechDSPAdapter: buildRequests banner custom size', () => {
let mockBidRequest;
let mockReferer;
beforeEach(() => {
mockBidRequest = mockBidRequestListData('banner', 8, [[300, 600]]);
mockReferer = mockRefererData();
});

it('correct request data', () => {
const data = spec.buildRequests(mockBidRequest, mockReferer).data;
data.forEach((request, index) => {
expect(request.banner.sizes).to.be.equal(mockBidRequest[index].params.sizes);
})
});
});

describe('SmartyTechDSPAdapter: buildRequests video custom size', () => {
let mockBidRequest;
let mockReferer;
beforeEach(() => {
mockBidRequest = mockBidRequestListData('video', 8, [[300, 300], [250, 250]]);
mockReferer = mockRefererData();
});

it('correct request data', () => {
const data = spec.buildRequests(mockBidRequest, mockReferer).data;
data.forEach((request, index) => {
expect(request.video.sizes).to.be.equal(mockBidRequest[index].params.sizes);
})
});
});

describe('SmartyTechDSPAdapter: interpretResponse', () => {
let mockBidRequest;
let mockReferer;
let request;
let mockResponse;
beforeEach(() => {
const brData = mockBidRequestListData('banner', 2);
const brData = mockBidRequestListData('banner', 2, []);
mockReferer = mockRefererData();
request = spec.buildRequests(brData, mockReferer);
mockBidRequest = {
Expand Down Expand Up @@ -290,7 +327,7 @@ describe('SmartyTechDSPAdapter: interpretResponse video', () => {
let request;
let mockResponse;
beforeEach(() => {
const brData = mockBidRequestListData('video', 2);
const brData = mockBidRequestListData('video', 2, []);
mockReferer = mockRefererData();
request = spec.buildRequests(brData, mockReferer);
mockBidRequest = {
Expand Down

0 comments on commit a69bf7c

Please sign in to comment.