UNPKG

@causalfoundry/js-sdk

Version:

Causal Foundry WEB SDK (JS/TS)

74 lines (59 loc) 2.01 kB
/** * @jest-environment jsdom */ import PatientMgmt from "." import CfCore from "../../core/CfCore"; import { ContentBlock } from "../Navigation/typings"; import { ProfileAction, ProfileListType, ProfileType, SocialTypes } from "./typings"; let windowSpy let mockSender; let mockImpressionManager describe('ELearning', () => { beforeAll(() => { mockSender = { add() { return false } } }) beforeEach(() => { windowSpy = jest.spyOn(window, "window", "get"); }) afterEach(() => { // to remove the singleton instance (CfCore as any).instance = null }) it('Should deliver a "Profile" event', () => { const senderSpy = jest.spyOn(mockSender, 'add') const bsCore = CfCore.createInstance(mockSender as any, mockImpressionManager as any, false, ContentBlock.Core,'device-id', false) const event = { type: ProfileType.User, action: ProfileAction.View, profile_id: '123', } // PatientMgmt.logProfileEvent(event) expect(senderSpy).toBeCalledWith( expect.anything(), expect.anything(), expect.objectContaining( { type: SocialTypes.Profile, props: event }), expect.anything()) }) it('Should deliver a "ProfileList" event', () => { const senderSpy = jest.spyOn(mockSender, 'add') const bsCore = CfCore.createInstance(mockSender as any, mockImpressionManager as any, false,ContentBlock.Core, 'device-id', false) const event = { type: ProfileListType.Followers, } // PatientMgmt.logProfileListEvent(event) expect(senderSpy).toBeCalledWith( expect.anything(), expect.anything(),expect.objectContaining( { type: SocialTypes.ProfileList, props: event }), expect.anything()) }) })