|
1 | 1 | 'use strict'; |
2 | 2 | /*jshint -W079 */ |
| 3 | +/*jshint esversion: 6 */ |
3 | 4 | var sinon = require('sinon'); |
4 | 5 | goog.require('utils'); |
5 | 6 |
|
@@ -1324,6 +1325,75 @@ describe('utils', function() { |
1324 | 1325 | }); |
1325 | 1326 | }); |
1326 | 1327 |
|
| 1328 | + describe('shouldAddDMAParams', function() { |
| 1329 | + it('should return true for valid endpoints', function() { |
| 1330 | + assert.equal(utils.shouldAddDMAParams('/v1/open'), true); |
| 1331 | + assert.equal(utils.shouldAddDMAParams('/v1/pageview'), true); |
| 1332 | + assert.equal(utils.shouldAddDMAParams('/v2/event'), true); |
| 1333 | + }); |
| 1334 | + |
| 1335 | + it('should return false for invalid endpoints', function() { |
| 1336 | + assert.equal(utils.shouldAddDMAParams('/v3/invalid'), false); |
| 1337 | + assert.equal(utils.shouldAddDMAParams('/v2/others'), false); |
| 1338 | + }); |
| 1339 | + }); |
| 1340 | + |
| 1341 | + describe('setDMAParams', function() { |
| 1342 | + it('should add DMA parameters for valid endpoints: v1/open', () => { |
| 1343 | + const data = {}; |
| 1344 | + const dmaObj = { |
| 1345 | + eeaRegion: true, |
| 1346 | + adPersonalizationConsent: true, |
| 1347 | + adUserDataUsageConsent: false |
| 1348 | + }; |
| 1349 | + utils.setDMAParams(data, dmaObj, '/v1/open'); |
| 1350 | + assert.deepEqual(data, { dma_eea: true, dma_ad_personalization: true, dma_ad_user_data: false }); |
| 1351 | + }); |
| 1352 | + it('should add DMA parameters for valid endpoints: v2/event', () => { |
| 1353 | + const dmaObj = { |
| 1354 | + eeaRegion: true, |
| 1355 | + adPersonalizationConsent: true, |
| 1356 | + adUserDataUsageConsent: false |
| 1357 | + }; |
| 1358 | + |
| 1359 | + const data2 = {}; |
| 1360 | + utils.setDMAParams(data2, dmaObj, '/v2/event'); |
| 1361 | + assert.deepEqual(data2, { "user_data": { dma_eea: true, dma_ad_personalization: true, dma_ad_user_data: false } }); |
| 1362 | + }); |
| 1363 | + it('should add DMA parameters for valid endpoints: v1/pageview', () => { |
| 1364 | + const dmaObj = { |
| 1365 | + eeaRegion: true, |
| 1366 | + adPersonalizationConsent: true, |
| 1367 | + adUserDataUsageConsent: false |
| 1368 | + }; |
| 1369 | + |
| 1370 | + const data2 = {}; |
| 1371 | + utils.setDMAParams(data2, dmaObj, '/v1/pageview'); |
| 1372 | + assert.deepEqual(data2, { dma_eea: true, dma_ad_personalization: true, dma_ad_user_data: false }); |
| 1373 | + }); |
| 1374 | + it('should not add DMA parameters for invalid endpoints: v1/invalid', () => { |
| 1375 | + const data = {}; |
| 1376 | + const dmaObj = { |
| 1377 | + eeaRegion: true, |
| 1378 | + adPersonalizationConsent: true, |
| 1379 | + adUserDataUsageConsent: false |
| 1380 | + }; |
| 1381 | + |
| 1382 | + utils.setDMAParams(data, dmaObj, '/v1/invalid'); |
| 1383 | + assert.deepEqual(data, {}); |
| 1384 | + }); |
| 1385 | + it('should not add DMA parameters for invalid endpoints: v1/dismiss', () => { |
| 1386 | + const data = {}; |
| 1387 | + const dmaObj = { |
| 1388 | + eeaRegion: true, |
| 1389 | + adPersonalizationConsent: true, |
| 1390 | + adUserDataUsageConsent: false |
| 1391 | + }; |
| 1392 | + |
| 1393 | + utils.setDMAParams(data, dmaObj, '/v1/dismiss'); |
| 1394 | + assert.deepEqual(data, {}); |
| 1395 | + }); |
| 1396 | + }); |
1327 | 1397 |
|
1328 | 1398 | /* |
1329 | 1399 | describe('journey_cta', function(done) { |
|
0 commit comments