Skip to content

Commit

Permalink
initial commit for removal of UA
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewsetterfield committed Aug 14, 2024
1 parent f7c3634 commit 764c349
Show file tree
Hide file tree
Showing 70 changed files with 428 additions and 4,436 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@ import { provideMockActions } from '@ngrx/effects/testing';
import { AnalyticsProvider } from '@providers/analytics/analytics';
import { AnalyticsProviderMock } from '@providers/analytics/__mocks__/analytics.mock';
import {
AnalyticsDimensionIndices,
AnalyticsEventCategories,
AnalyticsEvents,
AnalyticsScreenNames, GoogleAnalyticsCustomDimension,
AnalyticsScreenNames,
GoogleAnalyticsCustomDimension,
GoogleAnalyticsEventPrefix,
GoogleAnalyticsEvents,
GoogleAnalyticsEventsTitles,
Expand Down Expand Up @@ -39,7 +37,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
let actions$: ReplaySubject<any>;
let store$: Store<StoreModel>;
const screenName = AnalyticsScreenNames.BACK_TO_OFFICE;
const screenNamePracticeMode = `${AnalyticsEventCategories.PRACTICE_MODE} - ${AnalyticsScreenNames.BACK_TO_OFFICE}`;
const mockApplication: Application = {
applicationId: 123456,
bookingSequence: 78,
Expand Down Expand Up @@ -87,10 +84,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.setCurrentPage)
.toHaveBeenCalledWith(screenName);

// GA4 Analytics
expect(analyticsProviderMock.setGACurrentPage)
.toHaveBeenCalledWith(screenName);
Expand All @@ -107,11 +100,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
effects.backToOfficeViewDidEnter$.subscribe((result) => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.setCurrentPage)
.toHaveBeenCalledWith(screenNamePracticeMode);

// GA4 Analytics
expect(analyticsProviderMock.setGACurrentPage)
.toHaveBeenCalledWith(`${GoogleAnalyticsEventPrefix.PRACTICE_MODE}_${screenName}`);
Expand All @@ -135,18 +123,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_ID, '1');
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.APPLICATION_REFERENCE, '123456789');
expect(analyticsProviderMock.logEvent)
.toHaveBeenCalledWith(
AnalyticsEventCategories.BACK_TO_OFFICE,
AnalyticsEvents.DEFER_WRITE_UP,
'pass',
);

// GA4 Analytics
expect(analyticsProviderMock.addGACustomDimension)
.toHaveBeenCalledWith(GoogleAnalyticsCustomDimension.CANDIDATE_ID, '1');
Expand Down Expand Up @@ -174,18 +150,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_ID, '1');
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.APPLICATION_REFERENCE, '123456789');
expect(analyticsProviderMock.logEvent)
.toHaveBeenCalledWith(
AnalyticsEventCategories.BACK_TO_OFFICE,
AnalyticsEvents.DEFER_WRITE_UP,
'fail',
);

// GA4 Analytics
expect(analyticsProviderMock.addGACustomDimension)
.toHaveBeenCalledWith(GoogleAnalyticsCustomDimension.CANDIDATE_ID, '1');
Expand Down Expand Up @@ -213,18 +177,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_ID, '1');
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.APPLICATION_REFERENCE, '123456789');
expect(analyticsProviderMock.logEvent)
.toHaveBeenCalledWith(
`${AnalyticsEventCategories.PRACTICE_MODE} - ${AnalyticsEventCategories.BACK_TO_OFFICE}`,
`${AnalyticsEventCategories.PRACTICE_MODE} - ${AnalyticsEvents.DEFER_WRITE_UP}`,
'pass',
);

// GA4 Analytics
expect(analyticsProviderMock.addGACustomDimension)
.toHaveBeenCalledWith(GoogleAnalyticsCustomDimension.CANDIDATE_ID, '1');
Expand All @@ -239,6 +191,7 @@ describe('BackToOfficeAnalyticsEffects', () => {
done();
});
});

it('should call logEvent with fail page, practice mode prefix and addCustomDimension', (done) => {
// ARRANGE
store$.dispatch(fakeJournalActions.StartE2EPracticeTest(end2endPracticeSlotId));
Expand All @@ -252,18 +205,6 @@ describe('BackToOfficeAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_ID, '1');
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.APPLICATION_REFERENCE, '123456789');
expect(analyticsProviderMock.logEvent)
.toHaveBeenCalledWith(
`${AnalyticsEventCategories.PRACTICE_MODE} - ${AnalyticsEventCategories.BACK_TO_OFFICE}`,
`${AnalyticsEventCategories.PRACTICE_MODE} - ${AnalyticsEvents.DEFER_WRITE_UP}`,
'fail',
);

// GA4 Analytics
expect(analyticsProviderMock.addGACustomDimension)
.toHaveBeenCalledWith(GoogleAnalyticsCustomDimension.CANDIDATE_ID, '1');
Expand Down
26 changes: 1 addition & 25 deletions src/app/pages/back-to-office/back-to-office.analytics.effects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ import {
} from 'rxjs/operators';
import { AnalyticsProvider } from '@providers/analytics/analytics';
import {
AnalyticsDimensionIndices,
AnalyticsEventCategories,
AnalyticsEvents,
AnalyticsScreenNames,
GoogleAnalyticsCustomDimension,
GoogleAnalyticsEvents,
Expand All @@ -21,7 +18,7 @@ import {
getCurrentTest, getJournalData, isPassed, isPracticeMode,
} from '@store/tests/tests.selector';
import { getTests } from '@store/tests/tests.reducer';
import { analyticsEventTypePrefix, formatAnalyticsText } from '@shared/helpers/format-analytics-text';
import { analyticsEventTypePrefix } from '@shared/helpers/format-analytics-text';
import { TestsModel } from '@store/tests/tests.model';
import { AnalyticRecorded } from '@providers/analytics/analytics.actions';
import { getCandidate } from '@store/tests/journal-data/common/candidate/candidate.reducer';
Expand Down Expand Up @@ -64,10 +61,6 @@ export class BackToOfficeAnalyticsEffects {
: this.appConfigProvider.getAppConfig()?.journal?.enablePracticeModeAnalytics),
switchMap(([, tests]: [ReturnType<typeof BackToOfficeViewDidEnter>, TestsModel, boolean]) => {

// TODO - MES-9495 - remove old analytics
const screenName = formatAnalyticsText(AnalyticsScreenNames.BACK_TO_OFFICE, tests);
this.analytics.setCurrentPage(screenName);

// GA4 analytics
this.analytics.setGACurrentPage(analyticsEventTypePrefix(AnalyticsScreenNames.BACK_TO_OFFICE, tests));
return of(AnalyticRecorded());
Expand Down Expand Up @@ -113,16 +106,6 @@ export class BackToOfficeAnalyticsEffects {
switchMap(([, tests, isTestPassed, candidateId, applicationReference]:
[ReturnType<typeof DeferWriteUp>, TestsModel, boolean, number, string, boolean]) => {

// TODO - MES-9495 - remove old analytics
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_ID, `${candidateId}`);
this.analytics.addCustomDimension(AnalyticsDimensionIndices.APPLICATION_REFERENCE, applicationReference);

this.analytics.logEvent(
formatAnalyticsText(AnalyticsEventCategories.BACK_TO_OFFICE, tests),
formatAnalyticsText(AnalyticsEvents.DEFER_WRITE_UP, tests),
isTestPassed ? 'pass' : 'fail',
);

//GA4 Analytics
this.analytics.addGACustomDimension(GoogleAnalyticsCustomDimension.CANDIDATE_ID, `${candidateId}`);
this.analytics.addGACustomDimension(
Expand Down Expand Up @@ -157,13 +140,6 @@ export class BackToOfficeAnalyticsEffects {
: this.appConfigProvider.getAppConfig()?.journal?.enablePracticeModeAnalytics),
switchMap(([, tests]: [ReturnType<typeof ASAMPopupPresented>, TestsModel, boolean]) => {

// TODO - MES-9495 - remove old analytics
this.analytics.logEvent(
formatAnalyticsText(AnalyticsEventCategories.ERROR, tests),
formatAnalyticsText(AnalyticsEvents.ASAM, tests),
'Modal Triggered',
);

//GA4 Analytics
this.analytics.logGAEvent(
analyticsEventTypePrefix(GoogleAnalyticsEvents.ASAM, tests),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import { provideMockActions } from '@ngrx/effects/testing';
import { AnalyticsProvider } from '@providers/analytics/analytics';
import { AnalyticsProviderMock } from '@providers/analytics/__mocks__/analytics.mock';
import {
AnalyticsDimensionIndices,
AnalyticsEventCategories,
AnalyticsEvents,
AnalyticsScreenNames, GoogleAnalyticsCustomDimension, GoogleAnalyticsEvents, GoogleAnalyticsEventsTitles,
AnalyticsScreenNames,
GoogleAnalyticsCustomDimension,
GoogleAnalyticsEvents,
GoogleAnalyticsEventsTitles,
} from '@providers/analytics/analytics.model';
import { AnalyticRecorded } from '@providers/analytics/analytics.actions';
import { StoreModel } from '@shared/models/store.model';
Expand Down Expand Up @@ -71,7 +71,6 @@ describe('CandidateDetailsAnalyticsEffects', () => {
effects = TestBed.inject(CandidateDetailsAnalyticsEffects);
analyticsProviderMock = TestBed.inject(AnalyticsProvider);
store$ = TestBed.inject(Store);
spyOn(analyticsProviderMock, 'logEvent');
}));

describe('candidateView$', () => {
Expand All @@ -86,16 +85,6 @@ describe('CandidateDetailsAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_ID, '123');
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_WITH_SPECIAL_NEEDS, '1');
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_WITH_CHECK, '1');
expect(analyticsProviderMock.setCurrentPage)
.toHaveBeenCalledWith(screenName);

// GA4 Analytics
expect(analyticsProviderMock.setGACurrentPage)
.toHaveBeenCalledWith(screenName);
Expand All @@ -120,15 +109,6 @@ describe('CandidateDetailsAnalyticsEffects', () => {
effects.candidateModalDismiss$.subscribe((result) => {
expect(result.type)
.toEqual(AnalyticRecorded.type);
// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_ID, null);
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_WITH_SPECIAL_NEEDS, null);
expect(analyticsProviderMock.addCustomDimension)
.toHaveBeenCalledWith(AnalyticsDimensionIndices.CANDIDATE_WITH_CHECK, null);
expect(analyticsProviderMock.setCurrentPage)
.toHaveBeenCalledWith(AnalyticsScreenNames.JOURNAL);

// GA4 Analytics
expect(analyticsProviderMock.setGACurrentPage)
Expand All @@ -155,14 +135,6 @@ describe('CandidateDetailsAnalyticsEffects', () => {
expect(result.type)
.toEqual(AnalyticRecorded.type);

// TODO - MES-9495 - remove old analytics
expect(analyticsProviderMock.logEvent)
.toHaveBeenCalledWith(
AnalyticsEventCategories.JOURNAL,
AnalyticsEvents.SLOT_CHANGE_VIEWED,
'123',
);

// GA4 Analytics
expect(analyticsProviderMock.logGAEvent)
.toHaveBeenCalledWith(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ import {
} from 'rxjs/operators';
import { AnalyticsProvider } from '@providers/analytics/analytics';
import {
AnalyticsDimensionIndices,
AnalyticsEventCategories,
AnalyticsEvents,
AnalyticsScreenNames, GoogleAnalyticsCustomDimension,
AnalyticsScreenNames,
GoogleAnalyticsCustomDimension,
GoogleAnalyticsEvents,
GoogleAnalyticsEventsTitles,
} from '@providers/analytics/analytics.model';
Expand Down Expand Up @@ -60,13 +58,6 @@ export class CandidateDetailsAnalyticsEffects {
const candidateCheck = isCandidateCheckNeeded(slot);
const candidateId = getCandidateId(slot);

// TODO - MES-9495 - remove old analytics
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_ID, candidateId?.toString());
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_WITH_SPECIAL_NEEDS,
specNeeds ? '1' : '0');
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_WITH_CHECK, candidateCheck ? '1' : '0');
this.analytics.setCurrentPage(AnalyticsScreenNames.CANDIDATE_DETAILS);

// GA4 Analytics
this.analytics.setGACurrentPage(AnalyticsScreenNames.CANDIDATE_DETAILS);
this.analytics.addGACustomDimension(GoogleAnalyticsCustomDimension.CANDIDATE_ID, candidateId?.toString());
Expand Down Expand Up @@ -97,12 +88,6 @@ export class CandidateDetailsAnalyticsEffects {
: this.appConfigProvider.getAppConfig()?.journal?.enablePracticeModeAnalytics),
switchMap(([{ sourcePage }]: [ReturnType<typeof CandidateDetailsModalDismiss>, boolean]) => {

// TODO - MES-9495 - remove old analytics
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_ID, null);
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_WITH_SPECIAL_NEEDS, null);
this.analytics.addCustomDimension(AnalyticsDimensionIndices.CANDIDATE_WITH_CHECK, null);
this.analytics.setCurrentPage(mapAnalyticsScreenName(sourcePage));

// GA4 Analytics
this.analytics.setGACurrentPage(mapAnalyticsScreenName(sourcePage));
this.analytics.addGACustomDimension(GoogleAnalyticsCustomDimension.CANDIDATE_ID, null);
Expand All @@ -129,13 +114,6 @@ export class CandidateDetailsAnalyticsEffects {
: this.appConfigProvider.getAppConfig()?.journal?.enablePracticeModeAnalytics),
switchMap(([action]: [ReturnType<typeof CandidateDetailsSlotChangeViewed>, boolean]) => {

// TODO - MES-9495 - remove old analytics
this.analytics.logEvent(
AnalyticsEventCategories.JOURNAL,
AnalyticsEvents.SLOT_CHANGE_VIEWED,
action.slotId.toString(),
);

// GA4 Analytics
this.analytics.logGAEvent(
GoogleAnalyticsEvents.JOURNAL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { of } from 'rxjs';
import { select, Store } from '@ngrx/store';
import { getTests } from '@store/tests/tests.reducer';
import { TestsModel } from '@store/tests/tests.model';
import { analyticsEventTypePrefix, formatAnalyticsText } from '@shared/helpers/format-analytics-text';
import { analyticsEventTypePrefix } from '@shared/helpers/format-analytics-text';
import { AnalyticsScreenNames } from '@providers/analytics/analytics.model';
import { AnalyticRecorded } from '@providers/analytics/analytics.actions';
import { CandidateLicenceViewDidEnter } from '@pages/candidate-licence/candidate-licence.actions';
Expand Down Expand Up @@ -45,10 +45,6 @@ export class CandidateLicenceAnalyticsEffects {
: this.appConfigProvider.getAppConfig()?.journal?.enablePracticeModeAnalytics),
switchMap(([, tests]: [ReturnType<typeof CandidateLicenceViewDidEnter>, TestsModel, boolean]) => {

// TODO - MES-9495 - remove old analytics
const screenName = formatAnalyticsText(AnalyticsScreenNames.CANDIDATE_LICENCE_INFO, tests);
this.analytics.setCurrentPage(screenName);

// GA4 Analytics
this.analytics.setGACurrentPage(analyticsEventTypePrefix(AnalyticsScreenNames.CANDIDATE_LICENCE_INFO, tests));
return of(AnalyticRecorded());
Expand Down
Loading

0 comments on commit 764c349

Please sign in to comment.