diff --git a/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx b/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx index f07ceca6ff..3015da3029 100644 --- a/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx +++ b/packages/core/src/components/SimpleStepper/SimpleStepper.test.tsx @@ -23,6 +23,33 @@ const getTextInSlide = (rendered: any, index: number) => within(rendered.getByTestId(`step${index}`)).getByText; describe('Stepper', () => { + it('Maintains state history', async () => { + const rendered = render( + wrapInTestApp( + + +
step0
+
+ +
step1
+
+ +
step2
+
+
, + ), + ); + + fireEvent.click(getTextInSlide(rendered, 0)('Next') as Node); + expect(rendered.getByText('step1')).toBeInTheDocument(); + + fireEvent.click(getTextInSlide(rendered, 1)('Back') as Node); + expect(rendered.getByText('step0')).toBeInTheDocument(); + + fireEvent.click(getTextInSlide(rendered, 0)('Next') as Node); + expect(rendered.getByText('step1')).toBeInTheDocument(); + }); + it('Handles nextStep property', async () => { const rendered = render( wrapInTestApp( diff --git a/packages/core/src/components/SimpleStepper/SimpleStepper.tsx b/packages/core/src/components/SimpleStepper/SimpleStepper.tsx index a13ad6b5ee..b55d70e9a0 100644 --- a/packages/core/src/components/SimpleStepper/SimpleStepper.tsx +++ b/packages/core/src/components/SimpleStepper/SimpleStepper.tsx @@ -42,7 +42,7 @@ export interface StepperProps { const Stepper: FC = ({ children, elevated, onStepChange }) => { const [stepIndex, setStepIndex] = useState(0); - const [stepHistory, setStepHistory] = useState([]); + const [stepHistory, setStepHistory] = useState([0]); const steps: React.ReactNode[] = []; let endStep;