feat: add registration conversion event (#1049)

This commit is contained in:
Zainab Amir
2023-08-29 15:22:07 +05:00
committed by GitHub
parent a473d79554
commit c5caaeba60
2 changed files with 22 additions and 2 deletions

View File

@@ -4,7 +4,7 @@ import React, {
import { connect } from 'react-redux';
import { getConfig, snakeCaseObject } from '@edx/frontend-platform';
import { sendPageEvent } from '@edx/frontend-platform/analytics';
import { sendPageEvent, sendTrackEvent } from '@edx/frontend-platform/analytics';
import {
getCountryList, getLocale, useIntl,
} from '@edx/frontend-platform/i18n';
@@ -228,6 +228,8 @@ const RegistrationPage = (props) => {
useEffect(() => {
if (registrationResult.success) {
sendTrackEvent('edx.bi.user.account.registered.client', {});
// Optimizely registration conversion event
window.optimizely = window.optimizely || [];
window.optimizely.push({

View File

@@ -2,7 +2,7 @@ import React from 'react';
import { Provider } from 'react-redux';
import { getConfig, mergeConfig } from '@edx/frontend-platform';
import { sendPageEvent } from '@edx/frontend-platform/analytics';
import { sendPageEvent, sendTrackEvent } from '@edx/frontend-platform/analytics';
import {
configure, getLocale, injectIntl, IntlProvider,
} from '@edx/frontend-platform/i18n';
@@ -1022,6 +1022,24 @@ describe('RegistrationPage', () => {
expect(sendPageEvent).toHaveBeenCalledWith('login_and_registration', 'register');
});
it('should send track event when user has successfully registered', () => {
store = mockStore({
...initialState,
register: {
...initialState.register,
registrationResult: {
success: true,
redirectUrl: 'https://test.com/testing-dashboard/',
},
},
});
delete window.location;
window.location = { href: getConfig().BASE_URL };
renderer.create(routerWrapper(reduxWrapper(<IntlRegistrationPage {...props} />)));
expect(sendTrackEvent).toHaveBeenCalledWith('edx.bi.user.account.registered.client', {});
});
it('should populate form with pipeline user details', () => {
store = mockStore({
...initialState,