import React from 'react'; import { render, waitFor, } from '@testing-library/react'; import Crisp from '../src/Crisp'; test('Crisp load', async () => { await render(<Crisp crispWebsiteId="foo-website-id-load" />); await waitFor(() => expect(global.$crisp).toBeDefined()); await waitFor(() => expect(document.querySelector('.crisp-client')).toBeDefined()); await waitFor(() => expect(global.CRISP_WEBSITE_ID).toMatch(/foo-website-id-load/)); }); test('Crisp with a token ID', async () => { const tokenId = 'foo-token-id'; await render( <Crisp crispWebsiteId="foo-website-id-token-id" crispTokenId={tokenId} />, ); await waitFor(() => expect(global.CRISP_TOKEN_ID).toMatch(/foo-token-id/)); }); test('Crisp with a Runtime Config', async () => { const runtimeConfig = { session_merge: true }; await render( <Crisp crispWebsiteId="foo-website-id-runtime-config" crispRuntimeConfig={runtimeConfig} />, ); await waitFor(() => expect(global.$crisp).toBeDefined()); await waitFor(() => expect(global.CRISP_RUNTIME_CONFIG.session_merge).toBeTruthy()); await waitFor(() => expect(document.querySelector('.crisp-client')).toBeDefined()); });