From b91a1f2f810b62fbb655bfe4ad86ac7513e59f05 Mon Sep 17 00:00:00 2001 From: "Michael H. Arieli" Date: Thu, 29 Nov 2018 17:47:29 -0800 Subject: [PATCH] Fix bug: Improve code to use `ref` and test units --- src/client/__mocks__/window.js | 13 ++- src/client/components/App.js | 26 +++++- src/client/components/Chat.js | 35 +------- src/client/components/Input.js | 19 ++-- src/client/components/Toolbar.js | 31 ++++--- src/client/components/Video.js | 6 +- src/client/components/__tests__/Input-test.js | 4 +- .../components/__tests__/Toolbar-test.js | 87 +++++++++++++++++++ src/client/components/__tests__/Video-test.js | 5 +- 9 files changed, 166 insertions(+), 60 deletions(-) create mode 100644 src/client/components/__tests__/Toolbar-test.js diff --git a/src/client/__mocks__/window.js b/src/client/__mocks__/window.js index e589b8f..a56378b 100644 --- a/src/client/__mocks__/window.js +++ b/src/client/__mocks__/window.js @@ -4,7 +4,18 @@ export const createObjectURL = jest.fn() .mockImplementation(object => 'blob://' + String(object)) export const revokeObjectURL = jest.fn() -export class MediaStream {} +export class MediaStream { + getVideoTracks () { + return [{ + enabled: true + }] + } + getAudioTracks () { + return [{ + enabled: true + }] + } +} export function getUserMedia () { return !getUserMedia.shouldFail ? Promise.resolve(getUserMedia.stream) diff --git a/src/client/components/App.js b/src/client/components/App.js index f305d74..adc122f 100644 --- a/src/client/components/App.js +++ b/src/client/components/App.js @@ -23,6 +23,12 @@ export default class App extends React.PureComponent { streams: PropTypes.objectOf(StreamPropType).isRequired, toggleActive: PropTypes.func.isRequired } + constructor () { + super() + this.state = { + videos: {} + } + } componentDidMount () { const { init } = this.props init() @@ -41,17 +47,29 @@ export default class App extends React.PureComponent { streams } = this.props + const { videos } = this.state + return (
- + { this.toolbarRef = node }} + /> -
- - +
{ this.chatRef = node }}> + +