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.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([])
+ })
+ })
+
+})