Skip to content

Commit 88e214e

Browse files
committed
Add tests for setDefaultEventParameters
1 parent 1046412 commit 88e214e

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

packages/analytics/src/api.test.ts

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,21 @@ import { expect } from 'chai';
1919
import { SinonStub, stub } from 'sinon';
2020
import '../testing/setup';
2121
import { getFullApp } from '../testing/get-fake-firebase-services';
22-
import { getAnalytics, initializeAnalytics } from './api';
22+
import {
23+
getAnalytics,
24+
initializeAnalytics,
25+
setDefaultEventParameters
26+
} from './api';
2327
import { FirebaseApp, deleteApp } from '@firebase/app';
2428
import { AnalyticsError } from './errors';
2529
import * as init from './initialize-analytics';
2630
const fakeAppParams = { appId: 'abcdefgh12345:23405', apiKey: 'AAbbCCdd12345' };
31+
import * as factory from './factory';
2732

2833
describe('FirebaseAnalytics API tests', () => {
2934
let initStub: SinonStub = stub();
3035
let app: FirebaseApp;
36+
const wrappedGtag: SinonStub = stub();
3137

3238
beforeEach(() => {
3339
initStub = stub(init, '_initializeAnalytics').resolves(
@@ -94,4 +100,29 @@ describe('FirebaseAnalytics API tests', () => {
94100
const analyticsInstance = initializeAnalytics(app);
95101
expect(getAnalytics(app)).to.equal(analyticsInstance);
96102
});
103+
it('setDefaultEventParameters() updates defaultEventParametersForInit if gtag does not exist ', () => {
104+
const eventParametersForInit = {
105+
'github_user': 'dwyfrequency',
106+
'company': 'google'
107+
};
108+
app = getFullApp(fakeAppParams);
109+
setDefaultEventParameters(eventParametersForInit);
110+
expect(factory.defaultEventParametersForInit).to.deep.equal(
111+
eventParametersForInit
112+
);
113+
});
114+
115+
it('setDefaultEventParameters() calls gtag set if wrappedGtagFunction exists', () => {
116+
const eventParametersForInit = {
117+
'github_user': 'dwyfrequency',
118+
'company': 'google'
119+
};
120+
stub(factory, 'wrappedGtagFunction').get(() => wrappedGtag);
121+
app = getFullApp(fakeAppParams);
122+
setDefaultEventParameters(eventParametersForInit);
123+
expect(wrappedGtag).to.have.been.calledWithExactly(
124+
'set',
125+
eventParametersForInit
126+
);
127+
});
97128
});

0 commit comments

Comments
 (0)