Skip to content

Commit f5b4455

Browse files
fix: Prevent event name prefix from being sent to Reporting Service (#49)
1 parent e4ec438 commit f5b4455

File tree

2 files changed

+38
-2
lines changed

2 files changed

+38
-2
lines changed

src/MixpanelEventForwarder.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,8 @@ var constructor = function () {
9090
reportEvent = true;
9191
logEvent(event);
9292
} else if (event.EventDataType == MessageType.PageView) {
93-
event.EventName = 'Viewed ' + event.EventName;
9493
reportEvent = true;
95-
logEvent(event);
94+
logPageView(event);
9695
} else if (
9796
event.EventDataType == MessageType.Commerce &&
9897
event.ProductAction &&
@@ -297,6 +296,17 @@ var constructor = function () {
297296
}
298297
}
299298

299+
function logPageView(event) {
300+
var eventName = 'Viewed ' + event.EventName;
301+
event.EventAttributes = event.EventAttributes || {};
302+
303+
try {
304+
mixpanel.mparticle.track(eventName, event.EventAttributes);
305+
} catch (e) {
306+
return 'Cannot log event on forwarder: ' + name + ': ' + e;
307+
}
308+
}
309+
300310
function logEvent(event) {
301311
event.EventAttributes = event.EventAttributes || {};
302312

test/src/tests.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,32 @@ describe('Mixpanel Forwarder', function () {
275275

276276
done();
277277
});
278+
279+
it('should NOT alter the event name when sending a page view to the reporting service', function (done) {
280+
mParticle.forwarder.process({
281+
EventDataType: MessageType.PageView,
282+
EventName: 'Test Page Event',
283+
});
284+
285+
window.mixpanel.mparticle.should.have.property('trackCalled', true);
286+
window.mixpanel.mparticle.data.should.be
287+
.instanceof(Array)
288+
.and.have.lengthOf(2);
289+
290+
window.mixpanel.mparticle.data[0].should.be.type('string');
291+
window.mixpanel.mparticle.data[1].should.be.instanceof(Object);
292+
293+
window.mixpanel.mparticle.data[0].should.be.equal(
294+
'Viewed Test Page Event'
295+
);
296+
window.mixpanel.mparticle.data[1].should.be.an
297+
.Object()
298+
.and.be.empty();
299+
300+
reportService.event.EventName.should.be.equal('Test Page Event');
301+
302+
done();
303+
});
278304
});
279305

280306
describe('User events', function () {

0 commit comments

Comments
 (0)