1
0
mirror of https://github.com/oceanprotocol/commons.git synced 2023-03-15 18:03:00 +01:00

test tweaks

This commit is contained in:
Matthias Kretschmann 2019-06-03 15:13:17 +02:00
parent 7d727bcdf9
commit e5ef417025
Signed by: m
GPG Key ID: 606EEEF3C479A91F
5 changed files with 37 additions and 18 deletions

View File

@ -115,6 +115,7 @@ export default class Files extends PureComponent<FilesProps, FilesStates> {
name={name} name={name}
value={JSON.stringify(files)} value={JSON.stringify(files)}
onChange={onChange} onChange={onChange}
data-testid="files"
/> />
<div className={styles.newItems}> <div className={styles.newItems}>

View File

@ -12,7 +12,6 @@ const stateMock = {
const propsMock = { const propsMock = {
inputChange: () => null, inputChange: () => null,
inputToArrayChange: () => null,
state: stateMock, state: stateMock,
title: 'Hello', title: 'Hello',
description: 'description', description: 'description',

View File

@ -28,9 +28,6 @@ interface StepProps {
| ChangeEvent<HTMLSelectElement> | ChangeEvent<HTMLSelectElement>
| ChangeEvent<HTMLTextAreaElement> | ChangeEvent<HTMLTextAreaElement>
): void ): void
inputToArrayChange(
event: ChangeEvent<HTMLSelectElement> | ChangeEvent<HTMLInputElement>
): void
fields?: Fields fields?: Fields
state: any state: any
title: string title: string

View File

@ -1,11 +1,44 @@
import React from 'react' import React from 'react'
import { render } from '@testing-library/react' import { render, fireEvent } from '@testing-library/react'
import Publish from '.' import Publish from '.'
import { User } from '../../context'
import { userMockConnected } from '../../../__mocks__/user-mock'
describe('Progress', () => { describe('Publish', () => {
it('renders without crashing', () => { it('renders without crashing', () => {
const { container, getByText } = render(<Publish />) const { container, getByText } = render(
<User.Provider value={userMockConnected}>
<Publish />
</User.Provider>
)
expect(container.firstChild).toBeInTheDocument() expect(container.firstChild).toBeInTheDocument()
expect(getByText('Next →')).toHaveAttribute('disabled') expect(getByText('Next →')).toHaveAttribute('disabled')
}) })
it('next button works', () => {
const { getByText, getByLabelText, getByTestId } = render(
<User.Provider value={userMockConnected}>
<Publish />
</User.Provider>
)
// Title
const inputName = getByLabelText('Title')
fireEvent.change(inputName, {
target: { value: 'Hello' }
})
// Files
const inputFiles = getByTestId('files')
fireEvent.change(inputFiles, {
target: {
value: JSON.stringify([
{ url: 'https://demo.com', contentType: '', found: false }
])
}
})
// expect(getByText('Next →')).not.toHaveAttribute('disabled')
fireEvent.click(getByText('Next →'))
})
}) })

View File

@ -83,16 +83,6 @@ export default class Publish extends Component<{}, PublishState> {
}) })
} }
private inputToArrayChange = (
event: ChangeEvent<HTMLInputElement> | ChangeEvent<HTMLSelectElement>
) => {
this.validateInputs(event.currentTarget.name, event.currentTarget.value)
this.setState({
[event.currentTarget.name]: [event.currentTarget.value]
})
}
private next = () => { private next = () => {
let { currentStep } = this.state let { currentStep } = this.state
const totalSteps = steps.length const totalSteps = steps.length
@ -353,7 +343,6 @@ export default class Publish extends Component<{}, PublishState> {
currentStep={this.state.currentStep} currentStep={this.state.currentStep}
fields={step.fields} fields={step.fields}
inputChange={this.inputChange} inputChange={this.inputChange}
inputToArrayChange={this.inputToArrayChange}
state={this.state} state={this.state}
next={this.next} next={this.next}
prev={this.prev} prev={this.prev}