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;