Skip to content

Commit 97e5351

Browse files
author
ardit-baloku
authored
Gjirafa Bid Adapter: added data object as a param (#6231)
* Added data parameter to gjirafaBidAdapter * Updated gjirafaBidAdapter markdown * Added test for gjirafaBidAdapter
1 parent f704369 commit 97e5351

File tree

3 files changed

+73
-26
lines changed

3 files changed

+73
-26
lines changed

modules/gjirafaBidAdapter.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,16 @@ export const spec = {
3131
let bidderRequestId = '';
3232
let url = '';
3333
let contents = [];
34+
let data = {};
3435

3536
let placements = validBidRequests.map(bidRequest => {
3637
if (!propertyId) { propertyId = bidRequest.params.propertyId; }
3738
if (!pageViewGuid && bidRequest.params) { pageViewGuid = bidRequest.params.pageViewGuid || ''; }
3839
if (!storageId && bidRequest.params) { storageId = bidRequest.params.storageId || ''; }
3940
if (!bidderRequestId) { bidderRequestId = bidRequest.bidderRequestId; }
4041
if (!url && bidderRequest) { url = bidderRequest.refererInfo.referer; }
41-
if (!contents.length && bidRequest.params.contents && bidRequest.params.contents.length) { contents = bidRequest.params.contents }
42+
if (!contents.length && bidRequest.params.contents && bidRequest.params.contents.length) { contents = bidRequest.params.contents; }
43+
if (Object.keys(data).length === 0 && bidRequest.params.data && Object.keys(bidRequest.params.data).length !== 0) { data = bidRequest.params.data; }
4244

4345
let adUnitId = bidRequest.adUnitCode;
4446
let placementId = bidRequest.params.placementId;
@@ -61,7 +63,8 @@ export const spec = {
6163
url: url,
6264
requestid: bidderRequestId,
6365
placements: placements,
64-
contents: contents
66+
contents: contents,
67+
data: data
6568
}
6669

6770
return [{

modules/gjirafaBidAdapter.md

+42-20
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,67 @@
11
# Overview
2-
Module Name: Gjirafa Bidder Adapter Module
3-
Type: Bidder Adapter
4-
Maintainer: [email protected]
2+
Module Name: Gjirafa Bidder Adapter Module
3+
4+
Type: Bidder Adapter
5+
6+
Maintainer: [email protected]
57

68
# Description
79
Gjirafa Bidder Adapter for Prebid.js.
810

911
# Test Parameters
12+
```js
1013
var adUnits = [
1114
{
1215
code: 'test-div',
1316
mediaTypes: {
1417
banner: {
15-
sizes: [[728, 90]]
18+
sizes: [
19+
[728, 90]
20+
]
1621
}
1722
},
18-
bids: [
19-
{
20-
bidder: 'gjirafa',
21-
params: {
22-
propertyId: '105227',
23-
placementId: '846841'
23+
bids: [{
24+
bidder: 'gjirafa',
25+
params: {
26+
propertyId: '105227', //Required
27+
placementId: '846841', //Required
28+
data: { //Optional
29+
catalogs: [{
30+
catalogId: 9,
31+
items: ["193", "4", "1"]
32+
}],
33+
inventory: {
34+
category: ["tech"],
35+
query: ["iphone 12"]
36+
}
2437
}
2538
}
26-
]
39+
}]
2740
},
2841
{
2942
code: 'test-div',
3043
mediaTypes: {
31-
video: {
44+
video: {
3245
context: 'instream'
33-
}
46+
}
3447
},
35-
bids: [
36-
{
37-
bidder: 'gjirafa',
38-
params: {
39-
propertyId: '105227',
40-
placementId: '846836'
48+
bids: [{
49+
bidder: 'gjirafa',
50+
params: {
51+
propertyId: '105227', //Required
52+
placementId: '846836', //Required
53+
data: { //Optional
54+
catalogs: [{
55+
catalogId: 9,
56+
items: ["193", "4", "1"]
57+
}],
58+
inventory: {
59+
category: ["tech"],
60+
query: ["iphone 12"]
61+
}
4162
}
4263
}
43-
]
64+
}]
4465
}
4566
];
67+
```

test/spec/modules/gjirafaBidAdapter_spec.js

+26-4
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ describe('gjirafaAdapterTest', () => {
3434
it('bidRequest without propertyId or placementId', () => {
3535
expect(spec.isBidRequestValid({
3636
bidder: 'gjirafa',
37-
params: {
38-
propertyId: '{propertyId}',
39-
}
37+
params: {}
4038
})).to.equal(false);
4139
});
4240
});
@@ -46,7 +44,17 @@ describe('gjirafaAdapterTest', () => {
4644
'bidder': 'gjirafa',
4745
'params': {
4846
'propertyId': '{propertyId}',
49-
'placementId': '{placementId}'
47+
'placementId': '{placementId}',
48+
'data': {
49+
'catalogs': [{
50+
'catalogId': 1,
51+
'items': ['1', '2', '3']
52+
}],
53+
'inventory': {
54+
'category': ['category1', 'category2'],
55+
'query': ['query']
56+
}
57+
}
5058
},
5159
'adUnitCode': 'hb-leaderboard',
5260
'transactionId': 'b6b889bb-776c-48fd-bc7b-d11a1cf0425e',
@@ -86,6 +94,20 @@ describe('gjirafaAdapterTest', () => {
8694
expect(requestItem.data.placements[0].sizes).to.equal('728x90');
8795
});
8896
});
97+
98+
it('bidRequest data param', () => {
99+
const requests = spec.buildRequests(bidRequests);
100+
requests.forEach((requestItem) => {
101+
expect(requestItem.data.data).to.exist;
102+
expect(requestItem.data.data.catalogs).to.exist;
103+
expect(requestItem.data.data.inventory).to.exist;
104+
expect(requestItem.data.data.catalogs.length).to.equal(1);
105+
expect(requestItem.data.data.catalogs[0].items.length).to.equal(3);
106+
expect(Object.keys(requestItem.data.data.inventory).length).to.equal(2);
107+
expect(requestItem.data.data.inventory.category.length).to.equal(2);
108+
expect(requestItem.data.data.inventory.query.length).to.equal(1);
109+
});
110+
});
89111
});
90112

91113
describe('interpretResponse', () => {

0 commit comments

Comments
 (0)