From 3d39fa724c6f941a7431a4295f45404b5a84ad61 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sun, 26 Aug 2018 19:48:21 +0200 Subject: [PATCH] Created App test --- src/utils/Storage.js | 12 ++++++++++-- test/App.test.js | 26 ++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 test/App.test.js diff --git a/src/utils/Storage.js b/src/utils/Storage.js index f7ba7d88..22a52632 100644 --- a/src/utils/Storage.js +++ b/src/utils/Storage.js @@ -15,6 +15,14 @@ export class Storage { set = (key, value) => this.localStorage.setItem(buildPath(key), JSON.stringify(value)); } -const storage = typeof localStorage !== 'undefined' ? localStorage : {}; +const browserStorage = global.localStorage || { + getItem() { + return ''; + }, + setItem() { + return ''; + }, +}; +const storage = new Storage(browserStorage); -export default new Storage(storage); +export default storage; diff --git a/test/App.test.js b/test/App.test.js new file mode 100644 index 00000000..2121f547 --- /dev/null +++ b/test/App.test.js @@ -0,0 +1,26 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import { Route } from 'react-router-dom'; +import App from '../src/App'; +import MainHeader from '../src/common/MainHeader'; + +describe('', () => { + let wrapper; + + beforeEach(() => { + wrapper = shallow(); + }); + afterEach(() => wrapper.unmount()); + + it('renders a header', () => expect(wrapper.find(MainHeader)).toHaveLength(1)); + + it('renders app main routes', () => { + const routes = wrapper.find(Route); + const expectedRoutesCount = 3; + + expect(routes).toHaveLength(expectedRoutesCount); + expect(routes.at(0).prop('path')).toEqual('/server/create'); + expect(routes.at(1).prop('path')).toEqual('/'); + expect(routes.at(2).prop('path')).toEqual('/server/:serverId'); + }); +});