47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import React from 'react'
|
|
import { render } from 'react-testing-library'
|
|
import Step from './Step'
|
|
|
|
const stateMock = {
|
|
validationStatus: {
|
|
1: { allFieldsValid: true },
|
|
2: { allFieldsValid: true },
|
|
3: { allFieldsValid: true }
|
|
}
|
|
}
|
|
|
|
const propsMock = {
|
|
inputChange: () => null,
|
|
inputToArrayChange: () => null,
|
|
state: stateMock,
|
|
title: 'Hello',
|
|
description: 'description',
|
|
next: () => null,
|
|
prev: () => null,
|
|
tryAgain: () => null,
|
|
toStart: () => null
|
|
}
|
|
|
|
describe('Step', () => {
|
|
it('renders without crashing', () => {
|
|
const { container } = render(
|
|
<Step currentStep={1} index={0} totalSteps={3} {...propsMock} />
|
|
)
|
|
expect(container.firstChild).toBeInTheDocument()
|
|
})
|
|
|
|
it('renders previous button one page bigger than 1', () => {
|
|
const { queryByText } = render(
|
|
<Step currentStep={2} index={1} totalSteps={3} {...propsMock} />
|
|
)
|
|
expect(queryByText('← Previous')).toBeInTheDocument()
|
|
})
|
|
|
|
it('does not render next button when on last step', () => {
|
|
const { queryByText } = render(
|
|
<Step currentStep={3} index={2} totalSteps={3} {...propsMock} />
|
|
)
|
|
expect(queryByText('Next →')).toBeNull()
|
|
})
|
|
})
|