@unifygtm/intent-client
Version:
JavaScript client for interacting with the Unify Intent API in the browser.
30 lines (26 loc) • 1.12 kB
text/typescript
import { DeepMockProxy, mockDeep } from 'jest-mock-extended';
import { IdentityManager, SessionManager } from '../../client/managers';
import UnifyApiClient from '../../client/unify-api-client';
import { DEFAULT_UNIFY_INTENT_CLIENT_CONFIG } from '../../client/unify-intent-client';
import { UnifyIntentClientConfig } from '../../types';
import { TEST_WRITE_KEY } from './data';
const mockedIdentityManager = mockDeep(IdentityManager.prototype);
const mockedSessionManager = mockDeep(SessionManager.prototype);
const mockedApiClient = mockDeep(UnifyApiClient.prototype);
export const MockUnifyIntentContext = (config?: UnifyIntentClientConfig) =>
({
writeKey: TEST_WRITE_KEY,
clientConfig: {
...DEFAULT_UNIFY_INTENT_CLIENT_CONFIG,
...config,
},
identityManager: mockedIdentityManager,
sessionManager: mockedSessionManager,
apiClient: mockedApiClient,
} as {
writeKey: string;
clientConfig: UnifyIntentClientConfig;
identityManager: DeepMockProxy<IdentityManager>;
sessionManager: DeepMockProxy<SessionManager>;
apiClient: DeepMockProxy<UnifyApiClient>;
});