83 lines
No EOL
2.2 KiB
JavaScript
83 lines
No EOL
2.2 KiB
JavaScript
import analyticsMixin from "@/mixins/analytics-mixin";
|
|
import { setupMocksForJsFiles } from "@/helpers/unit-test-helper.js";
|
|
import { storeActions } from "@/constants/store-actions";
|
|
|
|
describe("analyticsMixin.js", () => {
|
|
test("logEvent: calls dispatch with type and payload", () => {
|
|
const type = "";
|
|
const payload = {};
|
|
|
|
const mockData = {
|
|
actionList: [{
|
|
actionName: storeActions.LOG_ACTIVITY
|
|
}],
|
|
}
|
|
const mocks = setupMocksForJsFiles(mockData);
|
|
|
|
analyticsMixin.methods.logEvent(type, payload);
|
|
|
|
expect(mocks.baseMixin.methods.dispatchStoreAction).toBeCalled();
|
|
});
|
|
|
|
test("pushEventToGA, should call logEvent too", () => {
|
|
// Arrange
|
|
const mockData = {
|
|
actionList: [{
|
|
actionName: storeActions.LOG_ACTIVITY
|
|
}],
|
|
}
|
|
const mocks = setupMocksForJsFiles(mockData);
|
|
|
|
// Act
|
|
analyticsMixin.methods.pushEventToGA('category', 'action', 'label', true);
|
|
|
|
// Assert
|
|
expect(mocks.baseMixin.methods.dispatchStoreAction).toBeCalled();
|
|
|
|
});
|
|
|
|
test("Experiments, should push to dataLayer with default Google Custom Dimension Index", () => {
|
|
// Arrange
|
|
window.dataLayer = [];
|
|
|
|
const mockExperimentData = {
|
|
data: [
|
|
{
|
|
settings: {},
|
|
variationName: 'test',
|
|
universeName: 'testUniverse'
|
|
}
|
|
]
|
|
}
|
|
|
|
// Act
|
|
analyticsMixin.methods.pushExperimentsToDataLayer(mockExperimentData);
|
|
|
|
// Assert
|
|
expect(window.dataLayer).toEqual([ { settings_99: {}, variationName_99: 'test', universeName_99: 'testUniverse' } ]);
|
|
|
|
});
|
|
|
|
test("Experiments, should push to dataLayer with custom Google Custom Dimension Index", () => {
|
|
// Arrange
|
|
window.dataLayer = [];
|
|
|
|
const mockExperimentData = {
|
|
data: [
|
|
{
|
|
settings: { "Google Custom Dimension Index": "5"},
|
|
variationName: 'test',
|
|
universeName: 'testUniverse'
|
|
}
|
|
]
|
|
}
|
|
|
|
// Act
|
|
analyticsMixin.methods.pushExperimentsToDataLayer(mockExperimentData);
|
|
|
|
// Assert
|
|
expect(window.dataLayer).toEqual([ { settings_5: {"Google Custom Dimension Index": "5"}, variationName_5: 'test', universeName_5: 'testUniverse' } ]);
|
|
|
|
});
|
|
|
|
}); |