diff --git a/__tests__/index.test.jsx b/__tests__/index.test.jsx new file mode 100644 index 0000000000..654bc5a6d6 --- /dev/null +++ b/__tests__/index.test.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; + +import api from '../src/api'; + +import indexToRender from '../src/index'; + +const custom_logo = (
logo
); +const custom_login_info = 'custom login info'; + +jest.mock('react-dom', () => ({ render: jest.fn() })); + +describe('index.jsx', () => { + test('renders without crashing', async () => { + api.getRoot = jest.fn().mockImplementation(() => Promise + .resolve({ data: { custom_logo, custom_login_info } })); + + await indexToRender(); + + expect(ReactDOM.render).toHaveBeenCalled(); + }); +}); diff --git a/src/index.jsx b/src/index.jsx index 337fdef1da..aac9291f39 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -11,9 +11,15 @@ import './app.scss'; const el = document.getElementById('app'); -api.getRoot() - .then(({ data }) => { - const { custom_logo, custom_login_info } = data; +const main = () => { + api.getRoot() + .then(({ data }) => { + const { custom_logo, custom_login_info } = data; - render(, el); - }); + render(, el); + }); +}; + +main(); + +export default main;