From f9c9fc070d91d504b7290701ae90a11188a9c484 Mon Sep 17 00:00:00 2001 From: Khushi Patel Date: Thu, 26 Mar 2026 15:28:58 -0400 Subject: [PATCH 1/5] feat: support sending login/logout events --- src/Rokt-Kit.js | 20 +++++++ test/src/tests.js | 148 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 168 insertions(+) diff --git a/src/Rokt-Kit.js b/src/Rokt-Kit.js index 798fcdb..fbedd92 100644 --- a/src/Rokt-Kit.js +++ b/src/Rokt-Kit.js @@ -597,6 +597,24 @@ var constructor = function () { self.userAttributes = filteredUser.getAllUserAttributes(); } + function onLoginComplete(filteredUser) { + self.userAttributes = filteredUser.getAllUserAttributes(); + _sendEventStream({ + EventName: 'User Login', + EventDataType: 10, // MessageType.Profile + Timestamp: Date.now(), + }); + } + + function onLogoutComplete(filteredUser) { + self.userAttributes = filteredUser.getAllUserAttributes(); + _sendEventStream({ + EventName: 'User Logout', + EventDataType: 10, // MessageType.Profile + Timestamp: Date.now(), + }); + } + function setUserAttribute(key, value) { self.userAttributes[key] = value; } @@ -713,6 +731,8 @@ var constructor = function () { this.setExtensionData = setExtensionData; this.setUserAttribute = setUserAttribute; this.onUserIdentified = onUserIdentified; + this.onLoginComplete = onLoginComplete; + this.onLogoutComplete = onLogoutComplete; this.removeUserAttribute = removeUserAttribute; /** diff --git a/test/src/tests.js b/test/src/tests.js index 7edcf5c..833f971 100644 --- a/test/src/tests.js +++ b/test/src/tests.js @@ -3149,6 +3149,154 @@ describe('Rokt Forwarder', () => { }); }); + describe('#onLoginComplete', () => { + afterEach(() => { + delete window.Rokt.__event_stream__; + window.mParticle.forwarder.eventStreamQueue = []; + }); + + it('should update userAttributes from the filtered user', () => { + window.mParticle.forwarder.onLoginComplete({ + getAllUserAttributes: function () { + return { 'user-attr': 'user-value' }; + }, + }); + + window.mParticle.forwarder.userAttributes.should.deepEqual({ + 'user-attr': 'user-value', + }); + }); + + it('should send a User Login event to window.Rokt.__event_stream__', () => { + var receivedEvents = []; + window.Rokt.__event_stream__ = function (event) { + receivedEvents.push(event); + }; + + window.mParticle.forwarder.onLoginComplete({ + getAllUserAttributes: function () { + return { 'user-attr': 'user-value' }; + }, + }); + + receivedEvents.length.should.equal(1); + receivedEvents[0].EventName.should.equal('User Login'); + receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].UserAttributes.should.deepEqual({ + 'user-attr': 'user-value', + }); + }); + + it('should queue event when window.Rokt.__event_stream__ is not available', () => { + window.mParticle.forwarder.onLoginComplete({ + getAllUserAttributes: function () { + return {}; + }, + }); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Login' + ); + window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( + 10 + ); + }); + + it('should queue event when window.Rokt is undefined', () => { + var savedRokt = window.Rokt; + window.Rokt = undefined; + + (function () { + window.mParticle.forwarder.onLoginComplete({ + getAllUserAttributes: function () { + return {}; + }, + }); + }).should.not.throw(); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Login' + ); + + window.Rokt = savedRokt; + }); + }); + + describe('#onLogoutComplete', () => { + afterEach(() => { + delete window.Rokt.__event_stream__; + window.mParticle.forwarder.eventStreamQueue = []; + }); + + it('should update userAttributes from the filtered user', () => { + window.mParticle.forwarder.onLogoutComplete({ + getAllUserAttributes: function () { + return { 'remaining-attr': 'some-value' }; + }, + }); + + window.mParticle.forwarder.userAttributes.should.deepEqual({ + 'remaining-attr': 'some-value', + }); + }); + + it('should send a User Logout event to window.Rokt.__event_stream__', () => { + var receivedEvents = []; + window.Rokt.__event_stream__ = function (event) { + receivedEvents.push(event); + }; + + window.mParticle.forwarder.onLogoutComplete({ + getAllUserAttributes: function () { + return {}; + }, + }); + + receivedEvents.length.should.equal(1); + receivedEvents[0].EventName.should.equal('User Logout'); + receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].UserAttributes.should.deepEqual({}); + }); + + it('should queue event when window.Rokt.__event_stream__ is not available', () => { + window.mParticle.forwarder.onLogoutComplete({ + getAllUserAttributes: function () { + return {}; + }, + }); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Logout' + ); + window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( + 10 + ); + }); + + it('should queue event when window.Rokt is undefined', () => { + var savedRokt = window.Rokt; + window.Rokt = undefined; + + (function () { + window.mParticle.forwarder.onLogoutComplete({ + getAllUserAttributes: function () { + return {}; + }, + }); + }).should.not.throw(); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Logout' + ); + + window.Rokt = savedRokt; + }); + }); + describe('#fetchOptimizely', () => { // Helper functions for setting up Optimizely mocks function setupValidOptimizelyMock(experiments) { From 8619fec5507113df0d2923e671fea33a10a630e7 Mon Sep 17 00:00:00 2001 From: Khushi Patel Date: Thu, 26 Mar 2026 17:04:55 -0400 Subject: [PATCH 2/5] feat: send userAttributes, MPID, and userIdentities in event --- src/Rokt-Kit.js | 39 ++++++++++++++++++------ test/src/tests.js | 78 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 10 deletions(-) diff --git a/src/Rokt-Kit.js b/src/Rokt-Kit.js index fbedd92..88c7849 100644 --- a/src/Rokt-Kit.js +++ b/src/Rokt-Kit.js @@ -597,22 +597,41 @@ var constructor = function () { self.userAttributes = filteredUser.getAllUserAttributes(); } - function onLoginComplete(filteredUser) { - self.userAttributes = filteredUser.getAllUserAttributes(); - _sendEventStream({ - EventName: 'User Login', + function _buildIdentityEvent(eventName, filteredUser) { + var mpid = + filteredUser.getMPID && typeof filteredUser.getMPID === 'function' + ? filteredUser.getMPID() + : null; + var sessionId = + window.mParticle && + window.mParticle.sessionManager && + typeof window.mParticle.sessionManager.getSession === 'function' + ? window.mParticle.sessionManager.getSession() + : null; + var userIdentities = + filteredUser.getUserIdentities && + typeof filteredUser.getUserIdentities === 'function' + ? filteredUser.getUserIdentities().userIdentities + : null; + + return { + EventName: eventName, EventDataType: 10, // MessageType.Profile Timestamp: Date.now(), - }); + MPID: mpid, + SessionId: sessionId, + UserIdentities: userIdentities, + }; + } + + function onLoginComplete(filteredUser) { + self.userAttributes = filteredUser.getAllUserAttributes(); + _sendEventStream(_buildIdentityEvent('User Login', filteredUser)); } function onLogoutComplete(filteredUser) { self.userAttributes = filteredUser.getAllUserAttributes(); - _sendEventStream({ - EventName: 'User Logout', - EventDataType: 10, // MessageType.Profile - Timestamp: Date.now(), - }); + _sendEventStream(_buildIdentityEvent('User Logout', filteredUser)); } function setUserAttribute(key, value) { diff --git a/test/src/tests.js b/test/src/tests.js index 833f971..93f5be8 100644 --- a/test/src/tests.js +++ b/test/src/tests.js @@ -3150,6 +3150,13 @@ describe('Rokt Forwarder', () => { }); describe('#onLoginComplete', () => { + beforeEach(() => { + window.mParticle.sessionManager = { + getSession: function () { + return 'test-mp-session-id'; + }, + }; + }); afterEach(() => { delete window.Rokt.__event_stream__; window.mParticle.forwarder.eventStreamQueue = []; @@ -3177,6 +3184,14 @@ describe('Rokt Forwarder', () => { getAllUserAttributes: function () { return { 'user-attr': 'user-value' }; }, + getMPID: function () { + return 'login-mpid-123'; + }, + getUserIdentities: function () { + return { + userIdentities: { email: 'jenny@example.com' }, + }; + }, }); receivedEvents.length.should.equal(1); @@ -3185,6 +3200,49 @@ describe('Rokt Forwarder', () => { receivedEvents[0].UserAttributes.should.deepEqual({ 'user-attr': 'user-value', }); + receivedEvents[0].MPID.should.equal('login-mpid-123'); + receivedEvents[0].SessionId.should.equal('test-mp-session-id'); + receivedEvents[0].UserIdentities.should.deepEqual({ + email: 'jenny@example.com', + }); + }); + + it('should include null MPID and null UserIdentities when filteredUser has no getMPID or getUserIdentities', () => { + var receivedEvents = []; + window.Rokt.__event_stream__ = function (event) { + receivedEvents.push(event); + }; + + window.mParticle.forwarder.onLoginComplete({ + getAllUserAttributes: function () { + return {}; + }, + }); + + receivedEvents.length.should.equal(1); + (receivedEvents[0].MPID === null).should.be.true(); + (receivedEvents[0].UserIdentities === null).should.be.true(); + }); + + it('should include null SessionId when sessionManager is unavailable', () => { + delete window.mParticle.sessionManager; + + var receivedEvents = []; + window.Rokt.__event_stream__ = function (event) { + receivedEvents.push(event); + }; + + window.mParticle.forwarder.onLoginComplete({ + getAllUserAttributes: function () { + return {}; + }, + getMPID: function () { + return 'some-mpid'; + }, + }); + + receivedEvents.length.should.equal(1); + (receivedEvents[0].SessionId === null).should.be.true(); }); it('should queue event when window.Rokt.__event_stream__ is not available', () => { @@ -3225,6 +3283,13 @@ describe('Rokt Forwarder', () => { }); describe('#onLogoutComplete', () => { + beforeEach(() => { + window.mParticle.sessionManager = { + getSession: function () { + return 'test-mp-session-id'; + }, + }; + }); afterEach(() => { delete window.Rokt.__event_stream__; window.mParticle.forwarder.eventStreamQueue = []; @@ -3252,12 +3317,25 @@ describe('Rokt Forwarder', () => { getAllUserAttributes: function () { return {}; }, + getMPID: function () { + return 'logout-mpid-456'; + }, + getUserIdentities: function () { + return { + userIdentities: { customerid: 'cust-789' }, + }; + }, }); receivedEvents.length.should.equal(1); receivedEvents[0].EventName.should.equal('User Logout'); receivedEvents[0].EventDataType.should.equal(10); receivedEvents[0].UserAttributes.should.deepEqual({}); + receivedEvents[0].MPID.should.equal('logout-mpid-456'); + receivedEvents[0].SessionId.should.equal('test-mp-session-id'); + receivedEvents[0].UserIdentities.should.deepEqual({ + customerid: 'cust-789', + }); }); it('should queue event when window.Rokt.__event_stream__ is not available', () => { From 958e7dba815000e1c78baee70e93ca67aad0fe91 Mon Sep 17 00:00:00 2001 From: Khushi Patel Date: Thu, 26 Mar 2026 17:23:30 -0400 Subject: [PATCH 3/5] feat: send events for onUserIdentified and onModifyUser --- src/Rokt-Kit.js | 7 ++ test/src/tests.js | 185 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 187 insertions(+), 5 deletions(-) diff --git a/src/Rokt-Kit.js b/src/Rokt-Kit.js index 88c7849..5d9fe1f 100644 --- a/src/Rokt-Kit.js +++ b/src/Rokt-Kit.js @@ -595,6 +595,7 @@ var constructor = function () { function onUserIdentified(filteredUser) { self.filters.filteredUser = filteredUser; self.userAttributes = filteredUser.getAllUserAttributes(); + _sendEventStream(_buildIdentityEvent('User Identified', filteredUser)); } function _buildIdentityEvent(eventName, filteredUser) { @@ -634,6 +635,11 @@ var constructor = function () { _sendEventStream(_buildIdentityEvent('User Logout', filteredUser)); } + function onModifyComplete(filteredUser) { + self.userAttributes = filteredUser.getAllUserAttributes(); + _sendEventStream(_buildIdentityEvent('User Modified', filteredUser)); + } + function setUserAttribute(key, value) { self.userAttributes[key] = value; } @@ -752,6 +758,7 @@ var constructor = function () { this.onUserIdentified = onUserIdentified; this.onLoginComplete = onLoginComplete; this.onLogoutComplete = onLogoutComplete; + this.onModifyComplete = onModifyComplete; this.removeUserAttribute = removeUserAttribute; /** diff --git a/test/src/tests.js b/test/src/tests.js index 93f5be8..78bd1e3 100644 --- a/test/src/tests.js +++ b/test/src/tests.js @@ -3127,26 +3127,88 @@ describe('Rokt Forwarder', () => { }); describe('#onUserIdentified', () => { - it('should set the filtered user', async () => { + beforeEach(() => { + window.mParticle.sessionManager = { + getSession: function () { + return 'test-mp-session-id'; + }, + }; + }); + afterEach(() => { + delete window.Rokt.__event_stream__; + window.mParticle.forwarder.eventStreamQueue = []; + }); + + it('should set the filtered user and userAttributes', () => { window.mParticle.forwarder.onUserIdentified({ getAllUserAttributes: function () { - return { - 'test-attribute': 'test-value', - }; + return { 'test-attribute': 'test-value' }; }, getMPID: function () { return '123'; }, + getUserIdentities: function () { + return { userIdentities: {} }; + }, }); window.mParticle.forwarder.userAttributes.should.deepEqual({ 'test-attribute': 'test-value', }); - window.mParticle.forwarder.filters.filteredUser .getMPID() .should.equal('123'); }); + + it('should send a User Identified event to window.Rokt.__event_stream__', () => { + var receivedEvents = []; + window.Rokt.__event_stream__ = function (event) { + receivedEvents.push(event); + }; + + window.mParticle.forwarder.onUserIdentified({ + getAllUserAttributes: function () { + return { 'user-attr': 'user-value' }; + }, + getMPID: function () { + return 'identified-mpid-123'; + }, + getUserIdentities: function () { + return { userIdentities: { email: 'jenny@example.com' } }; + }, + }); + + receivedEvents.length.should.equal(1); + receivedEvents[0].EventName.should.equal('User Identified'); + receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].MPID.should.equal('identified-mpid-123'); + receivedEvents[0].SessionId.should.equal('test-mp-session-id'); + receivedEvents[0].UserAttributes.should.deepEqual({ + 'user-attr': 'user-value', + }); + receivedEvents[0].UserIdentities.should.deepEqual({ + email: 'jenny@example.com', + }); + }); + + it('should queue event when window.Rokt.__event_stream__ is not available', () => { + window.mParticle.forwarder.onUserIdentified({ + getAllUserAttributes: function () { + return {}; + }, + getMPID: function () { + return '123'; + }, + getUserIdentities: function () { + return { userIdentities: {} }; + }, + }); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Identified' + ); + }); }); describe('#onLoginComplete', () => { @@ -3375,6 +3437,119 @@ describe('Rokt Forwarder', () => { }); }); + describe('#onModifyComplete', () => { + beforeEach(() => { + window.mParticle.sessionManager = { + getSession: function () { + return 'test-mp-session-id'; + }, + }; + }); + afterEach(() => { + delete window.Rokt.__event_stream__; + window.mParticle.forwarder.eventStreamQueue = []; + }); + + it('should update userAttributes from the filtered user', () => { + window.mParticle.forwarder.onModifyComplete({ + getAllUserAttributes: function () { + return { 'modified-attr': 'modified-value' }; + }, + getMPID: function () { + return '123'; + }, + getUserIdentities: function () { + return { userIdentities: {} }; + }, + }); + + window.mParticle.forwarder.userAttributes.should.deepEqual({ + 'modified-attr': 'modified-value', + }); + }); + + it('should send a User Modified event to window.Rokt.__event_stream__', () => { + var receivedEvents = []; + window.Rokt.__event_stream__ = function (event) { + receivedEvents.push(event); + }; + + window.mParticle.forwarder.onModifyComplete({ + getAllUserAttributes: function () { + return { 'modified-attr': 'modified-value' }; + }, + getMPID: function () { + return 'modify-mpid-789'; + }, + getUserIdentities: function () { + return { + userIdentities: { email: 'modified@example.com' }, + }; + }, + }); + + receivedEvents.length.should.equal(1); + receivedEvents[0].EventName.should.equal('User Modified'); + receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].MPID.should.equal('modify-mpid-789'); + receivedEvents[0].SessionId.should.equal('test-mp-session-id'); + receivedEvents[0].UserAttributes.should.deepEqual({ + 'modified-attr': 'modified-value', + }); + receivedEvents[0].UserIdentities.should.deepEqual({ + email: 'modified@example.com', + }); + }); + + it('should queue event when window.Rokt.__event_stream__ is not available', () => { + window.mParticle.forwarder.onModifyComplete({ + getAllUserAttributes: function () { + return {}; + }, + getMPID: function () { + return '123'; + }, + getUserIdentities: function () { + return { userIdentities: {} }; + }, + }); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Modified' + ); + window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( + 10 + ); + }); + + it('should queue event when window.Rokt is undefined', () => { + var savedRokt = window.Rokt; + window.Rokt = undefined; + + (function () { + window.mParticle.forwarder.onModifyComplete({ + getAllUserAttributes: function () { + return {}; + }, + getMPID: function () { + return '123'; + }, + getUserIdentities: function () { + return { userIdentities: {} }; + }, + }); + }).should.not.throw(); + + window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); + window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( + 'User Modified' + ); + + window.Rokt = savedRokt; + }); + }); + describe('#fetchOptimizely', () => { // Helper functions for setting up Optimizely mocks function setupValidOptimizelyMock(experiments) { From b100dd62aa0519abf61d2800fbd4460f70b4b376 Mon Sep 17 00:00:00 2001 From: Khushi Patel Date: Fri, 27 Mar 2026 10:45:15 -0400 Subject: [PATCH 4/5] feat: update event names --- src/Rokt-Kit.js | 8 ++++---- test/src/tests.js | 22 +++++++++++----------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Rokt-Kit.js b/src/Rokt-Kit.js index 5d9fe1f..2c2a51d 100644 --- a/src/Rokt-Kit.js +++ b/src/Rokt-Kit.js @@ -595,7 +595,7 @@ var constructor = function () { function onUserIdentified(filteredUser) { self.filters.filteredUser = filteredUser; self.userAttributes = filteredUser.getAllUserAttributes(); - _sendEventStream(_buildIdentityEvent('User Identified', filteredUser)); + _sendEventStream(_buildIdentityEvent('identify', filteredUser)); } function _buildIdentityEvent(eventName, filteredUser) { @@ -627,17 +627,17 @@ var constructor = function () { function onLoginComplete(filteredUser) { self.userAttributes = filteredUser.getAllUserAttributes(); - _sendEventStream(_buildIdentityEvent('User Login', filteredUser)); + _sendEventStream(_buildIdentityEvent('login', filteredUser)); } function onLogoutComplete(filteredUser) { self.userAttributes = filteredUser.getAllUserAttributes(); - _sendEventStream(_buildIdentityEvent('User Logout', filteredUser)); + _sendEventStream(_buildIdentityEvent('logout', filteredUser)); } function onModifyComplete(filteredUser) { self.userAttributes = filteredUser.getAllUserAttributes(); - _sendEventStream(_buildIdentityEvent('User Modified', filteredUser)); + _sendEventStream(_buildIdentityEvent('modify_user', filteredUser)); } function setUserAttribute(key, value) { diff --git a/test/src/tests.js b/test/src/tests.js index 78bd1e3..23cf767 100644 --- a/test/src/tests.js +++ b/test/src/tests.js @@ -3179,7 +3179,7 @@ describe('Rokt Forwarder', () => { }); receivedEvents.length.should.equal(1); - receivedEvents[0].EventName.should.equal('User Identified'); + receivedEvents[0].EventName.should.equal('identify'); receivedEvents[0].EventDataType.should.equal(10); receivedEvents[0].MPID.should.equal('identified-mpid-123'); receivedEvents[0].SessionId.should.equal('test-mp-session-id'); @@ -3206,7 +3206,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Identified' + 'identify' ); }); }); @@ -3257,7 +3257,7 @@ describe('Rokt Forwarder', () => { }); receivedEvents.length.should.equal(1); - receivedEvents[0].EventName.should.equal('User Login'); + receivedEvents[0].EventName.should.equal('login'); receivedEvents[0].EventDataType.should.equal(10); receivedEvents[0].UserAttributes.should.deepEqual({ 'user-attr': 'user-value', @@ -3316,7 +3316,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Login' + 'login' ); window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( 10 @@ -3337,7 +3337,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Login' + 'login' ); window.Rokt = savedRokt; @@ -3390,7 +3390,7 @@ describe('Rokt Forwarder', () => { }); receivedEvents.length.should.equal(1); - receivedEvents[0].EventName.should.equal('User Logout'); + receivedEvents[0].EventName.should.equal('logout'); receivedEvents[0].EventDataType.should.equal(10); receivedEvents[0].UserAttributes.should.deepEqual({}); receivedEvents[0].MPID.should.equal('logout-mpid-456'); @@ -3409,7 +3409,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Logout' + 'logout' ); window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( 10 @@ -3430,7 +3430,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Logout' + 'logout' ); window.Rokt = savedRokt; @@ -3489,7 +3489,7 @@ describe('Rokt Forwarder', () => { }); receivedEvents.length.should.equal(1); - receivedEvents[0].EventName.should.equal('User Modified'); + receivedEvents[0].EventName.should.equal('modify_user'); receivedEvents[0].EventDataType.should.equal(10); receivedEvents[0].MPID.should.equal('modify-mpid-789'); receivedEvents[0].SessionId.should.equal('test-mp-session-id'); @@ -3516,7 +3516,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Modified' + 'modify_user' ); window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( 10 @@ -3543,7 +3543,7 @@ describe('Rokt Forwarder', () => { window.mParticle.forwarder.eventStreamQueue.length.should.equal(1); window.mParticle.forwarder.eventStreamQueue[0].EventName.should.equal( - 'User Modified' + 'modify_user' ); window.Rokt = savedRokt; From 554b5f44597a599254f40058d446e194e41e228d Mon Sep 17 00:00:00 2001 From: Khushi Patel Date: Fri, 27 Mar 2026 12:50:15 -0400 Subject: [PATCH 5/5] feat: correct EventDataType --- src/Rokt-Kit.js | 2 +- test/src/tests.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Rokt-Kit.js b/src/Rokt-Kit.js index 2c2a51d..0e4e697 100644 --- a/src/Rokt-Kit.js +++ b/src/Rokt-Kit.js @@ -617,7 +617,7 @@ var constructor = function () { return { EventName: eventName, - EventDataType: 10, // MessageType.Profile + EventDataType: 14, // MessageType.Profile Timestamp: Date.now(), MPID: mpid, SessionId: sessionId, diff --git a/test/src/tests.js b/test/src/tests.js index 23cf767..c95ca9c 100644 --- a/test/src/tests.js +++ b/test/src/tests.js @@ -3180,7 +3180,7 @@ describe('Rokt Forwarder', () => { receivedEvents.length.should.equal(1); receivedEvents[0].EventName.should.equal('identify'); - receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].EventDataType.should.equal(14); receivedEvents[0].MPID.should.equal('identified-mpid-123'); receivedEvents[0].SessionId.should.equal('test-mp-session-id'); receivedEvents[0].UserAttributes.should.deepEqual({ @@ -3258,7 +3258,7 @@ describe('Rokt Forwarder', () => { receivedEvents.length.should.equal(1); receivedEvents[0].EventName.should.equal('login'); - receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].EventDataType.should.equal(14); receivedEvents[0].UserAttributes.should.deepEqual({ 'user-attr': 'user-value', }); @@ -3319,7 +3319,7 @@ describe('Rokt Forwarder', () => { 'login' ); window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( - 10 + 14 ); }); @@ -3391,7 +3391,7 @@ describe('Rokt Forwarder', () => { receivedEvents.length.should.equal(1); receivedEvents[0].EventName.should.equal('logout'); - receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].EventDataType.should.equal(14); receivedEvents[0].UserAttributes.should.deepEqual({}); receivedEvents[0].MPID.should.equal('logout-mpid-456'); receivedEvents[0].SessionId.should.equal('test-mp-session-id'); @@ -3412,7 +3412,7 @@ describe('Rokt Forwarder', () => { 'logout' ); window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( - 10 + 14 ); }); @@ -3490,7 +3490,7 @@ describe('Rokt Forwarder', () => { receivedEvents.length.should.equal(1); receivedEvents[0].EventName.should.equal('modify_user'); - receivedEvents[0].EventDataType.should.equal(10); + receivedEvents[0].EventDataType.should.equal(14); receivedEvents[0].MPID.should.equal('modify-mpid-789'); receivedEvents[0].SessionId.should.equal('test-mp-session-id'); receivedEvents[0].UserAttributes.should.deepEqual({ @@ -3519,7 +3519,7 @@ describe('Rokt Forwarder', () => { 'modify_user' ); window.mParticle.forwarder.eventStreamQueue[0].EventDataType.should.equal( - 10 + 14 ); });