diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/src/js/__tests__/ducks/connectionSpec.js | 41 | ||||
-rw-r--r-- | web/src/js/components/Header/ConnectionIndicator.jsx | 11 | ||||
-rw-r--r-- | web/src/js/components/common/DocsLink.jsx | 2 |
3 files changed, 48 insertions, 6 deletions
diff --git a/web/src/js/__tests__/ducks/connectionSpec.js b/web/src/js/__tests__/ducks/connectionSpec.js new file mode 100644 index 00000000..d087e867 --- /dev/null +++ b/web/src/js/__tests__/ducks/connectionSpec.js @@ -0,0 +1,41 @@ +import reduceConnection from "../../ducks/connection" +import * as ConnectionActions from "../../ducks/connection" +import { ConnectionState } from "../../ducks/connection" + +describe('connection reducer', () => { + it('should return initial state', () => { + expect(reduceConnection(undefined, {})).toEqual({ + state: ConnectionState.INIT, + message: null, + }) + }) + + it('should handle start fetch', () => { + expect(reduceConnection(undefined, ConnectionActions.startFetching())).toEqual({ + state: ConnectionState.FETCHING, + message: undefined, + }) + }) + + it('should handle connection established', () => { + expect(reduceConnection(undefined, ConnectionActions.connectionEstablished())).toEqual({ + state: ConnectionState.ESTABLISHED, + message: undefined, + }) + }) + + it('should handle connection error', () => { + expect(reduceConnection(undefined, ConnectionActions.connectionError("no internet"))).toEqual({ + state: ConnectionState.ERROR, + message: "no internet", + }) + }) + + it('should handle offline mode', () => { + expect(reduceConnection(undefined, ConnectionActions.setOffline())).toEqual({ + state: ConnectionState.OFFLINE, + message: undefined, + }) + }) + +}) diff --git a/web/src/js/components/Header/ConnectionIndicator.jsx b/web/src/js/components/Header/ConnectionIndicator.jsx index e8feb20e..1ee42e25 100644 --- a/web/src/js/components/Header/ConnectionIndicator.jsx +++ b/web/src/js/components/Header/ConnectionIndicator.jsx @@ -1,7 +1,7 @@ -import React, { PropTypes } from "react" +import React from "react" +import PropTypes from "prop-types" import { connect } from "react-redux" -import classnames from "classnames" -import {ConnectionState} from "../../ducks/connection" +import { ConnectionState } from "../../ducks/connection" ConnectionIndicator.propTypes = { @@ -10,7 +10,7 @@ ConnectionIndicator.propTypes = { } function ConnectionIndicator({ state, message }) { - switch(state){ + switch (state) { case ConnectionState.INIT: return <span className="connection-indicator init">connecting…</span>; case ConnectionState.FETCHING: @@ -18,7 +18,8 @@ function ConnectionIndicator({ state, message }) { case ConnectionState.ESTABLISHED: return <span className="connection-indicator established">connected</span>; case ConnectionState.ERROR: - return <span className="connection-indicator error" title={message}>connection lost</span>; + return <span className="connection-indicator error" + title={message}>connection lost</span>; case ConnectionState.OFFLINE: return <span className="connection-indicator offline">offline</span>; } diff --git a/web/src/js/components/common/DocsLink.jsx b/web/src/js/components/common/DocsLink.jsx index 182811a3..53c7aca8 100644 --- a/web/src/js/components/common/DocsLink.jsx +++ b/web/src/js/components/common/DocsLink.jsx @@ -1,4 +1,4 @@ -import { PropTypes } from 'react' +import PropTypes from "prop-types" DocsLink.propTypes = { resource: PropTypes.string.isRequired, |