@bbc/spartacus
Version:
36 lines (26 loc) • 820 B
JSX
import React from 'react';
import * as reactDom from 'react-dom';
import { ClientApp } from './app';
import setupClient from './client';
jest.mock('react-dom');
jest.mock('react-router-dom');
jest.mock('./app');
const routes = { default: [] };
const mockRootElement = <div />;
document.getElementById = jest.fn().mockReturnValue(mockRootElement);
describe('Client', () => {
beforeAll(() => {
window.SPARTACUS_DATA = 'someData';
});
afterAll(() => {
window.SPARTACUS_DATA = null;
});
it('should hydrate client once routes are ready', async () => {
const data = window.SPARTACUS_DATA;
await setupClient({ data, routes, module });
expect(reactDom.hydrate).toHaveBeenCalledWith(
<ClientApp routes={routes} data={window.SPARTACUS_DATA} />,
mockRootElement,
);
});
});