From 4e6657f19a1be115bf6f8a5c0d26a87b28f325c9 Mon Sep 17 00:00:00 2001 From: "Michael H. Arieli" Date: Tue, 27 Nov 2018 16:08:22 -0800 Subject: [PATCH] Small code cleanup --- src/client/actions/ChatActions.js | 30 +++++++----------- src/client/components/Chat.js | 15 ++++----- src/client/components/Toolbar.js | 31 +++++++++---------- src/client/components/Video.js | 6 ++-- .../reducers/__tests__/messages-test.js | 28 +++++++++++++++++ 5 files changed, 63 insertions(+), 47 deletions(-) create mode 100644 src/client/reducers/__tests__/messages-test.js diff --git a/src/client/actions/ChatActions.js b/src/client/actions/ChatActions.js index 8c1feaa..e057a60 100644 --- a/src/client/actions/ChatActions.js +++ b/src/client/actions/ChatActions.js @@ -1,22 +1,16 @@ import * as constants from '../constants.js' -import _ from 'underscore' -export function addMessage ({ userId, message, timestamp, image }) { - return { - type: constants.MESSAGE_ADD, - payload: { - id: _.uniqueId('chat'), - userId, - message, - timestamp, - image - } +export const addMessage = ({ userId, message, timestamp, image }) => ({ + type: constants.MESSAGE_ADD, + payload: { + userId, + message, + timestamp, + image } -} +}) -export function loadHistory (messages) { - return { - type: constants.MESSAGES_HISTORY, - messages - } -} +export const loadHistory = messages => ({ + type: constants.MESSAGES_HISTORY, + messages +}) diff --git a/src/client/components/Chat.js b/src/client/components/Chat.js index 4f98445..4d9e08e 100644 --- a/src/client/components/Chat.js +++ b/src/client/components/Chat.js @@ -72,21 +72,18 @@ export default class Chat extends React.PureComponent {
- {message.image ? ( -
+
+ {message.image ? (
-
- ) : ( -
+ ) : (
{message.userId.substr(0, 2).toUpperCase()}
-
- )} + )} +
{message.message} diff --git a/src/client/components/Toolbar.js b/src/client/components/Toolbar.js index 66bea92..726fc64 100644 --- a/src/client/components/Toolbar.js +++ b/src/client/components/Toolbar.js @@ -63,22 +63,21 @@ export default class Toolbar extends React.PureComponent {
{stream && ( -
- - -
- )} - - {stream && ( -
- - +
+
+ + +
+
+ + +
)} diff --git a/src/client/components/Video.js b/src/client/components/Video.js index 3eeff85..0c962c0 100644 --- a/src/client/components/Video.js +++ b/src/client/components/Video.js @@ -37,10 +37,8 @@ export default class Video extends React.PureComponent { if (video.srcObject !== mediaStream) { this.refs.video.srcObject = mediaStream } - } else { - if (video.src !== url) { - video.src = url - } + } else if (video.src !== url) { + video.src = url } } render () { diff --git a/src/client/reducers/__tests__/messages-test.js b/src/client/reducers/__tests__/messages-test.js new file mode 100644 index 0000000..83bfd7b --- /dev/null +++ b/src/client/reducers/__tests__/messages-test.js @@ -0,0 +1,28 @@ +import * as ChatActions from '../../actions/ChatActions.js' +import messages from '../messages.js' + +describe('reducers/messages', () => { + + describe('addMessage', () => { + it('add message to chat', () => { + const payload = { + userId: 'test', + message: 'hello', + timestamp: new Date(), + image: null + } + let state = messages() + state = messages(state, ChatActions.addMessage(payload)) + expect(state).toEqual([payload]) + }) + }) + + describe('messageHistory', () => { + it('get chat message hisotry', () => { + let state = messages() + state = messages(state, ChatActions.loadHistory([])) + expect(state).toEqual([]) + }) + }) + +})