From 2e475ff00a3ada7534a77dbccf65a62c84dbc380 Mon Sep 17 00:00:00 2001 From: Wesley Yee Date: Thu, 7 May 2020 10:42:55 -0400 Subject: [PATCH] Fix: Add initial stepper step to step history (#740) --- .../SimpleStepper/SimpleStepper.test.tsx | 27 +++++++++++++++++++ .../SimpleStepper/SimpleStepper.tsx | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) 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;