Fix all TypeScript tests
This commit is contained in:
parent
4659151892
commit
9e8b353dea
@ -1,4 +1,4 @@
|
||||
import React, { ReactEventHandler } from 'react'
|
||||
import React, { ReactEventHandler, ChangeEvent } from 'react'
|
||||
import classnames from 'classnames'
|
||||
import screenfull from 'screenfull'
|
||||
import { Message } from '../actions/ChatActions'
|
||||
@ -72,9 +72,9 @@ extends React.PureComponent<ToolbarProps, ToolbarState> {
|
||||
handleSendFile = () => {
|
||||
this.file.current!.click()
|
||||
}
|
||||
handleSelectFiles: ReactEventHandler<HTMLInputElement> = event => {
|
||||
handleSelectFiles = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
Array
|
||||
.from(this.file.current!.files!)
|
||||
.from(event.target!.files!)
|
||||
.forEach(file => this.props.onSendFile(file))
|
||||
}
|
||||
handleToggleChat = () => {
|
||||
|
||||
@ -81,8 +81,8 @@ describe('components/Video', () => {
|
||||
await render()
|
||||
})
|
||||
|
||||
it('Mirrored and active propogate to rendered classes', () => {
|
||||
render({ active: true, mirrored: true })
|
||||
it('Mirrored and active propogate to rendered classes', async () => {
|
||||
await render({ active: true, mirrored: true })
|
||||
expect(wrapper.className).toBe('video-container active mirrored')
|
||||
})
|
||||
})
|
||||
@ -91,25 +91,25 @@ describe('components/Video', () => {
|
||||
describe('src', () => {
|
||||
beforeEach(async () => {
|
||||
await render()
|
||||
delete video.video.current!.srcObject
|
||||
delete video.videoRef.current!.srcObject
|
||||
})
|
||||
it('updates src only when changed', () => {
|
||||
mediaStream = new MediaStream()
|
||||
component.setState({
|
||||
stream: { url: 'test', stream: mediaStream, userId: '' },
|
||||
})
|
||||
expect(video.video.current!.src).toBe('http://localhost/test')
|
||||
expect(video.videoRef.current!.src).toBe('http://localhost/test')
|
||||
component.setState({
|
||||
stream: { url: 'test', stream: mediaStream, userId: '' },
|
||||
})
|
||||
})
|
||||
it('updates srcObject only when changed', () => {
|
||||
video.video.current!.srcObject = null
|
||||
video.videoRef.current!.srcObject = null
|
||||
mediaStream = new MediaStream()
|
||||
component.setState({
|
||||
stream: { url: 'test', stream: mediaStream, userId: '' },
|
||||
})
|
||||
expect(video.video.current!.srcObject).toBe(mediaStream)
|
||||
expect(video.videoRef.current!.srcObject).toBe(mediaStream)
|
||||
component.setState({
|
||||
stream: { url: 'test', stream: mediaStream, userId: '' },
|
||||
})
|
||||
|
||||
@ -14,7 +14,7 @@ export interface VideoProps {
|
||||
}
|
||||
|
||||
export default class Video extends React.PureComponent<VideoProps> {
|
||||
video = React.createRef<HTMLVideoElement>()
|
||||
videoRef = React.createRef<HTMLVideoElement>()
|
||||
|
||||
static defaultProps = {
|
||||
muted: false,
|
||||
@ -34,10 +34,10 @@ export default class Video extends React.PureComponent<VideoProps> {
|
||||
}
|
||||
componentDidUpdate () {
|
||||
const { videos, stream } = this.props
|
||||
const video = this.video.current!
|
||||
const video = this.videoRef.current!
|
||||
const mediaStream = stream && stream.stream || null
|
||||
const url = stream && stream.url
|
||||
if (!('srcObject' in video as unknown)) {
|
||||
if ('srcObject' in video as unknown) {
|
||||
if (video.srcObject !== mediaStream) {
|
||||
video.srcObject = mediaStream
|
||||
}
|
||||
@ -57,7 +57,7 @@ export default class Video extends React.PureComponent<VideoProps> {
|
||||
onClick={this.handleClick}
|
||||
onLoadedMetadata={this.play}
|
||||
playsInline
|
||||
ref={this.video}
|
||||
ref={this.videoRef}
|
||||
muted={muted}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -21,12 +21,12 @@ describe('window', () => {
|
||||
delete (navigator as any).webkitGetUserMedia
|
||||
})
|
||||
|
||||
it('calls navigator.mediaDevices.getUserMedia', () => {
|
||||
it('calls navigator.mediaDevices.getUserMedia', async () => {
|
||||
const promise = Promise.resolve(stream);
|
||||
(navigator as any).mediaDevices = {
|
||||
getUserMedia: jest.fn().mockReturnValue(promise),
|
||||
}
|
||||
expect(getUserMedia(constraints)).toBe(promise)
|
||||
expect(await getUserMedia(constraints)).toBe(stream)
|
||||
})
|
||||
|
||||
;['getUserMedia', 'webkitGetUserMedia'].forEach((method) => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user