UNPKG

@applicaster/zapp-react-native-utils

Version:

Applicaster Zapp React Native utilities package

78 lines (57 loc) 2.21 kB
import { Mapper } from "../analyticsMapper"; import { fixtures } from "./fixtures"; jest.mock("@applicaster/zapp-react-native-utils/appUtils/contextKeysManager"); const AnalyticsMapper = new Mapper(); /** * Fixture Pair composed of expected input and expected output * first = input * second = output */ type Pair = { first: any; second: any; }; // Test Runner const setConfigRunMapTest = async (rules, events) => { AnalyticsMapper.setConfiguration(rules); return await Promise.all( events.map(async (pair: Pair) => { const result = await AnalyticsMapper.map(pair.first); expect(result).toEqual(pair.second || null); }) ); }; describe("Analytics Mapper", () => { it("Returns event modified by regex rename rule", async () => { const rules = fixtures.eventRegexRules; await setConfigRunMapTest(rules, fixtures.eventRegexEvents); }); it("Returns event modified by rename rule", async () => { const rules = fixtures.renameRules; await setConfigRunMapTest(rules, fixtures.renameEvents); }); it("Returns event modified by ignore param rule", async () => { const rules = fixtures.ignoredParamsRules; await setConfigRunMapTest(rules, fixtures.ignoredParamsEvents); }); it("Returns event modified by ignore event rule", async () => { const rules = fixtures.ignoredEventRules; await setConfigRunMapTest(rules, fixtures.ignoredEventEvents); }); it("Returns event modified by context event rule", async () => { const rules = fixtures.contextRules; await setConfigRunMapTest(rules, fixtures.contextEvents); }); it("Returns event modified by block unlisted event rule", async () => { const rules = fixtures.blockUnlistedEventRules; await setConfigRunMapTest(rules, fixtures.blockUnlistedEventEvents); }); it("Returns event modified by block unlisted param rule", async () => { const rules = fixtures.blockUnlistedParamRules; await setConfigRunMapTest(rules, fixtures.blockUnlistedParamEvents); }); it("Returns event modified by Analytics Custom Property", async () => { const rules = fixtures.ACPEventRules; await setConfigRunMapTest(rules, fixtures.ACPEventEvents); }); });