diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/ReviewState.test.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/ReviewState.test.tsx index b77d0d0c59..d603213c19 100644 --- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/ReviewState.test.tsx +++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/ReviewState.test.tsx @@ -16,6 +16,7 @@ import React from 'react'; import { ReviewState } from './ReviewState'; import { render } from '@testing-library/react'; +import { ParsedTemplateSchema } from './useTemplateSchema'; describe('ReviewState', () => { it('should render the text as normal with no options', () => { @@ -38,7 +39,7 @@ describe('ReviewState', () => { test: 'bob', }; - const schemas = [ + const schemas: ParsedTemplateSchema[] = [ { mergedSchema: { type: 'object', @@ -49,6 +50,10 @@ describe('ReviewState', () => { }, }, }, + schema: {}, + title: 'test', + uiSchema: {}, + description: 'asd', }, ]; diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx index 90901f22c5..f605e9c114 100644 --- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx +++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx @@ -47,17 +47,17 @@ describe('Stepper', () => { title: 'React JSON Schema Form Test', }; - const { getByText } = await renderInTestApp( + const { getByRole } = await renderInTestApp( , ); - expect(getByText('Next')).toBeInTheDocument(); + expect(getByRole('button', { name: 'Next' })).toBeInTheDocument(); await act(async () => { - await fireEvent.click(getByText('Next')); + await fireEvent.click(getByRole('button', { name: 'Next' })); }); - expect(getByText('Review')).toBeInTheDocument(); + expect(getByRole('button', { name: 'Review' })).toBeInTheDocument(); }); it('should remember the state of the form when cycling through the pages', async () => { @@ -87,7 +87,7 @@ describe('Stepper', () => { title: 'React JSON Schema Form Test', }; - const { getByRole, getByText } = await renderInTestApp( + const { getByRole } = await renderInTestApp( , ); @@ -96,11 +96,11 @@ describe('Stepper', () => { }); await act(async () => { - await fireEvent.click(getByText('Next')); + await fireEvent.click(getByRole('button', { name: 'Next' })); }); await act(async () => { - await fireEvent.click(getByText('Back')); + await fireEvent.click(getByRole('button', { name: 'Back' })); }); expect(getByRole('textbox', { name: 'name' })).toHaveValue( diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx index 80926e5909..be4a300755 100644 --- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx +++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx @@ -75,8 +75,7 @@ export const Stepper = (props: StepperProps) => { }, [props.extensions]); const validation = useMemo(() => { - const { mergedSchema } = steps[activeStep] ?? {}; - return createAsyncValidators(mergedSchema, validators, { + return createAsyncValidators(steps[activeStep].mergedSchema, validators, { apiHolder, }); }, [steps, activeStep, validators, apiHolder]); diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/useTemplateSchema.ts b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/useTemplateSchema.ts index dc23a8a49c..d0d8590a7b 100644 --- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/useTemplateSchema.ts +++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/useTemplateSchema.ts @@ -28,7 +28,7 @@ export interface ParsedTemplateSchema { } export const useTemplateSchema = ( manifest: TemplateParameterSchema, -): { steps: ParsedTemplateSchema } => { +): { steps: ParsedTemplateSchema[] } => { const featureFlags = useApi(featureFlagsApiRef); const steps = manifest.steps.map(({ title, description, schema }) => ({ title,