Skip to content

Commit 370b3f5

Browse files
preved-medveddependabot[bot]
authored andcommitted
SmartyTech Bid Adapter : add size parameters (prebid#9692)
* 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] <[email protected]> * add ability to force set banner size --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent bbb4e38 commit 370b3f5

File tree

2 files changed

+53
-7
lines changed

2 files changed

+53
-7
lines changed

modules/smartytechBidAdapter.js

+9
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const spec = {
5757
const bidRequests = validBidRequests.map((validBidRequest) => {
5858
let video = deepAccess(validBidRequest, 'mediaTypes.video', false);
5959
let banner = deepAccess(validBidRequest, 'mediaTypes.banner', false);
60+
let sizes = validBidRequest.params.sizes;
6061

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

6869
if (video) {
6970
oneRequest.video = video;
71+
72+
if (sizes) {
73+
oneRequest.video.sizes = sizes;
74+
}
7075
} else if (banner) {
7176
oneRequest.banner = banner;
77+
78+
if (sizes) {
79+
oneRequest.banner.sizes = sizes;
80+
}
7281
}
7382

7483
return oneRequest

test/spec/modules/smartytechBidAdapter_spec.js

+44-7
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,13 @@ function mockRandomSizeArray(len) {
138138
});
139139
}
140140

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

146149
if (mediaType == 'video') {
147150
mediaTypes = {
@@ -158,13 +161,15 @@ function mockBidRequestListData(mediaType, size) {
158161
}
159162
}
160163

164+
if (customSizes === undefined || customSizes.length > 0) {
165+
params.sizes = customSizes
166+
}
167+
161168
return {
162169
adUnitCode: `adUnitCode-${id}`,
163170
mediaTypes: mediaTypes,
164171
bidId: `bidId-${id}`,
165-
params: {
166-
endpointId: id
167-
}
172+
params: params
168173
}
169174
});
170175
}
@@ -211,7 +216,7 @@ describe('SmartyTechDSPAdapter: buildRequests', () => {
211216
let mockBidRequest;
212217
let mockReferer;
213218
beforeEach(() => {
214-
mockBidRequest = mockBidRequestListData('banner', 8);
219+
mockBidRequest = mockBidRequestListData('banner', 8, []);
215220
mockReferer = mockRefererData();
216221
});
217222
it('has return data', () => {
@@ -238,13 +243,45 @@ describe('SmartyTechDSPAdapter: buildRequests', () => {
238243
});
239244
});
240245

246+
describe('SmartyTechDSPAdapter: buildRequests banner custom size', () => {
247+
let mockBidRequest;
248+
let mockReferer;
249+
beforeEach(() => {
250+
mockBidRequest = mockBidRequestListData('banner', 8, [[300, 600]]);
251+
mockReferer = mockRefererData();
252+
});
253+
254+
it('correct request data', () => {
255+
const data = spec.buildRequests(mockBidRequest, mockReferer).data;
256+
data.forEach((request, index) => {
257+
expect(request.banner.sizes).to.be.equal(mockBidRequest[index].params.sizes);
258+
})
259+
});
260+
});
261+
262+
describe('SmartyTechDSPAdapter: buildRequests video custom size', () => {
263+
let mockBidRequest;
264+
let mockReferer;
265+
beforeEach(() => {
266+
mockBidRequest = mockBidRequestListData('video', 8, [[300, 300], [250, 250]]);
267+
mockReferer = mockRefererData();
268+
});
269+
270+
it('correct request data', () => {
271+
const data = spec.buildRequests(mockBidRequest, mockReferer).data;
272+
data.forEach((request, index) => {
273+
expect(request.video.sizes).to.be.equal(mockBidRequest[index].params.sizes);
274+
})
275+
});
276+
});
277+
241278
describe('SmartyTechDSPAdapter: interpretResponse', () => {
242279
let mockBidRequest;
243280
let mockReferer;
244281
let request;
245282
let mockResponse;
246283
beforeEach(() => {
247-
const brData = mockBidRequestListData('banner', 2);
284+
const brData = mockBidRequestListData('banner', 2, []);
248285
mockReferer = mockRefererData();
249286
request = spec.buildRequests(brData, mockReferer);
250287
mockBidRequest = {
@@ -290,7 +327,7 @@ describe('SmartyTechDSPAdapter: interpretResponse video', () => {
290327
let request;
291328
let mockResponse;
292329
beforeEach(() => {
293-
const brData = mockBidRequestListData('video', 2);
330+
const brData = mockBidRequestListData('video', 2, []);
294331
mockReferer = mockRefererData();
295332
request = spec.buildRequests(brData, mockReferer);
296333
mockBidRequest = {

0 commit comments

Comments
 (0)