From 7564279588bbb75f977e69e8eae5c4d67e15b11d Mon Sep 17 00:00:00 2001 From: Robert Ing Date: Tue, 24 Mar 2026 13:21:12 -0400 Subject: [PATCH] fix: Add logSelectPlacementsEvent to falsey selection value --- src/Rokt-Kit.js | 2 ++ test/src/tests.js | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/src/Rokt-Kit.js b/src/Rokt-Kit.js index ce4a599..a3b7fa8 100644 --- a/src/Rokt-Kit.js +++ b/src/Rokt-Kit.js @@ -443,6 +443,8 @@ var constructor = function () { .catch(function () { logSelectPlacementsEvent(selectPlacementsAttributes); }); + } else { + logSelectPlacementsEvent(selectPlacementsAttributes); } return selection; diff --git a/test/src/tests.js b/test/src/tests.js index 37d23f9..80a3db2 100644 --- a/test/src/tests.js +++ b/test/src/tests.js @@ -2892,6 +2892,47 @@ describe('Rokt Forwarder', () => { ); }); + it('should log event when selectPlacements returns a non-thenable value', async () => { + window.Rokt.createLauncher = async function () { + return Promise.resolve({ + selectPlacements: function () { + // Returns a non-thenable (no .then method) + return undefined; + }, + }); + }; + + await window.mParticle.forwarder.init( + { + accountId: '123456', + }, + reportService.cb, + true, + null, + { + 'cached-user-attr': 'cached-value', + } + ); + + await waitForCondition( + () => window.mParticle.forwarder.isInitialized + ); + + await window.mParticle.forwarder.selectPlacements({ + identifier: 'test-placement', + attributes: { + 'new-attr': 'new-value', + }, + }); + + await waitForCondition(() => mParticle.loggedEvents.length > 0); + + mParticle.loggedEvents.length.should.equal(1); + mParticle.loggedEvents[0].eventName.should.equal( + 'selectPlacements' + ); + }); + it('should skip logging when mParticle.logEvent is not available', async () => { var originalLogEvent = window.mParticle.logEvent; window.mParticle.logEvent = undefined;