Fixed lint testing

This commit is contained in:
Michael H. Arieli 2018-11-23 17:41:39 -08:00
parent 0d8d3fbb33
commit 721e993dc2
6 changed files with 40 additions and 27 deletions

View File

@ -42,7 +42,7 @@ class SocketHandler {
.filter(id => !newUsersMap[id]) .filter(id => !newUsersMap[id])
.forEach(id => peers[id].destroy()) .forEach(id => peers[id].destroy())
} }
handleMessages = ({ messages }) => { handleMessages = (messages) => {
const { dispatch } = this const { dispatch } = this
debug('socket messages: %o', messages) debug('socket messages: %o', messages)
dispatch(ChatActions.loadHistory(messages)) dispatch(ChatActions.loadHistory(messages))

View File

@ -12,7 +12,7 @@ export default class Chat extends React.PureComponent {
static propTypes = { static propTypes = {
messages: PropTypes.arrayOf(MessagePropTypes).isRequired messages: PropTypes.arrayOf(MessagePropTypes).isRequired
} }
hideChat = e => { handleCloseChat = e => {
document.getElementById('chat').classList.remove('show') document.getElementById('chat').classList.remove('show')
document.querySelector('.toolbar .chat').classList.remove('on') document.querySelector('.toolbar .chat').classList.remove('on')
} }
@ -21,7 +21,7 @@ export default class Chat extends React.PureComponent {
return ( return (
<div> <div>
<div className="chat-header"> <div className="chat-header">
<div className="chat-close" onClick={this.hideChat}> <div className="chat-close" onClick={this.handleCloseChat}>
<div className="button button-icon"> <div className="button button-icon">
<span className="material-icons">arrow_back</span> <span className="material-icons">arrow_back</span>
</div> </div>
@ -32,13 +32,19 @@ export default class Chat extends React.PureComponent {
{messages.length ? ( {messages.length ? (
messages.map((message, i) => ( messages.map((message, i) => (
<div className={message.userId === socket.id ? 'chat-bubble alt' : 'chat-bubble'} key={i}> <div key={i}
className={
message.userId === socket.id
? 'chat-bubble alt'
: 'chat-bubble'
}
>
<div className="txt"> <div className="txt">
<p className="name">{message.userId}</p> <p className="name">{message.userId}</p>
<p className="message">{message.message}</p> <p className="message">{message.message}</p>
<span className="timestamp">{message.timestamp}</span> <span className="timestamp">{message.timestamp}</span>
</div> </div>
<div className="arrow"></div> <div className="arrow" />
</div> </div>
)) ))
) : ( ) : (

View File

@ -36,8 +36,8 @@ export default class Input extends React.PureComponent {
notify('You: ' + message) notify('You: ' + message)
sendMessage(message) sendMessage(message)
const userId = socket.id; const userId = socket.id
const timestamp = moment().format('ddd, D MMM HH:mm a'); const timestamp = moment().format('ddd, D MMM HH:mm a')
const payload = { userId, message, timestamp } const payload = { userId, message, timestamp }
socket.emit('new_message', payload) socket.emit('new_message', payload)
} }

View File

@ -10,7 +10,7 @@ export default function messages (state = defaultState, action) {
messages.push(action.payload) messages.push(action.payload)
return Immutable(messages) return Immutable(messages)
case constants.MESSAGES_HISTORY: case constants.MESSAGES_HISTORY:
return Immutable(action.messages); return Immutable(action.messages)
default: default:
return state return state
} }

View File

@ -83,19 +83,22 @@ describe('server/socket', () => {
it('should emit users', () => { it('should emit users', () => {
socket.emit('ready', 'room3') socket.emit('ready', 'room3')
expect(io.to.mock.calls).toEqual([[ 'room3' ]]) expect(io.to.mock.calls).toEqual([[ 'room3' ], [ 'room3' ]])
expect(io.to('room3').emit.mock.calls).toEqual([[ expect(io.to('room3').emit.mock.calls).toEqual([
'users', { [
initiator: 'socket0', 'users', {
users: [{ initiator: 'socket0',
id: 'socket0' users: [{
}, { id: 'socket0'
id: 'socket1' }, {
}, { id: 'socket1'
id: 'socket2' }, {
}] id: 'socket2'
} }]
]]) }
],
['messages', []]
])
}) })
}) })
}) })

View File

@ -2,11 +2,11 @@
const debug = require('debug')('peer-calls:socket') const debug = require('debug')('peer-calls:socket')
const _ = require('underscore') const _ = require('underscore')
const messages = {}; const messages = {}
module.exports = function (socket, io) { module.exports = function (socket, io) {
socket.on('signal', payload => { socket.on('signal', payload => {
// debug('signal: %s, payload: %o', socket.id, payload); // debug('signal: %s, payload: %o', socket.id, payload)
io.to(payload.userId).emit('signal', { io.to(payload.userId).emit('signal', {
userId: socket.id, userId: socket.id,
signal: payload.signal signal: payload.signal
@ -14,7 +14,7 @@ module.exports = function (socket, io) {
}) })
socket.on('new_message', payload => { socket.on('new_message', payload => {
addMesssage(socket.room, payload); addMesssage(socket.room, payload)
io.to(socket.room).emit('new_message', payload) io.to(socket.room).emit('new_message', payload)
}) })
@ -27,12 +27,16 @@ module.exports = function (socket, io) {
let users = getUsers(roomName) let users = getUsers(roomName)
let messages = getMesssages(roomName) let messages = getMesssages(roomName)
debug('ready: %s, room: %s, users: %o, messages: %o', socket.id, roomName, users, messages)
debug('ready: %s, room: %s, users: %o, messages: %o',
socket.id, roomName, users, messages)
io.to(roomName).emit('users', { io.to(roomName).emit('users', {
initiator: socket.id, initiator: socket.id,
users users
}) })
io.to(roomName).emit('messages', { messages })
io.to(roomName).emit('messages', messages)
}) })
function getUsers (roomName) { function getUsers (roomName) {
@ -43,7 +47,7 @@ module.exports = function (socket, io) {
function getMesssages (roomName) { function getMesssages (roomName) {
if (_.isUndefined(messages[roomName])) { if (_.isUndefined(messages[roomName])) {
messages[roomName] = []; messages[roomName] = []
} }
return messages[roomName] return messages[roomName]
} }