From 407d1a40531166799ba7593ad0d9199880ca4b6c Mon Sep 17 00:00:00 2001 From: Chris Lei Date: Mon, 6 Apr 2026 13:06:10 -0700 Subject: [PATCH 1/2] Allow rename of MERIT tasks --- src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx b/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx index 7f860f0b3e..efe7c3c2df 100644 --- a/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx +++ b/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx @@ -7,6 +7,7 @@ import { ToggleContainerUiType, ToggleItemContainer } from 'modules/Builder/comp import { Svg } from 'shared/components'; import { useCurrentActivity, useCustomFormContext } from 'modules/Builder/hooks'; +import { NameDescription } from '../NameDescription'; import { StyledPerformanceTaskBody } from '../PerformanceTasks.styles'; import UnityFileModal from './UnityFileModal/UnityFileModal'; import { UnityFilePreview } from './UnityFilePreview'; @@ -92,6 +93,7 @@ export const Unity = () => { {t('performanceTasks.unity')} + {t('unityInstructions')} From 2f923b6e88f31f83750405a7e1e172ff13781915 Mon Sep 17 00:00:00 2001 From: Chris Lei Date: Sun, 12 Apr 2026 14:25:58 -0700 Subject: [PATCH 2/2] NFC: test-dataid prop for --- .../features/PerformanceTasks/Flanker/Flanker.tsx | 4 +++- .../GyroscopeAndTouch/GyroscopeAndTouch.test.tsx | 12 ++++++------ .../GyroscopeAndTouch/GyroscopeAndTouch.tsx | 2 +- .../NameDescription/NameDescription.tsx | 6 ++++-- .../NameDescription/NameDescription.types.ts | 3 +++ .../NameDescriptionContent.tsx | 7 +++++-- .../NameDescriptionContent.types.ts | 3 +++ .../features/PerformanceTasks/Unity/Unity.tsx | 2 +- 8 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescription.types.ts create mode 100644 src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.types.ts diff --git a/src/modules/Builder/features/PerformanceTasks/Flanker/Flanker.tsx b/src/modules/Builder/features/PerformanceTasks/Flanker/Flanker.tsx index 67473282c0..5b4d638c03 100644 --- a/src/modules/Builder/features/PerformanceTasks/Flanker/Flanker.tsx +++ b/src/modules/Builder/features/PerformanceTasks/Flanker/Flanker.tsx @@ -12,11 +12,13 @@ import { RoundSettings } from './RoundSettings'; export const Flanker = () => { const { t } = useTranslation(); + const dataTestid = 'builder-activity-flanker'; + return ( {t('flanker')} - + diff --git a/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.test.tsx b/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.test.tsx index ea18c7d63e..3d4db5599f 100644 --- a/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.test.tsx +++ b/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.test.tsx @@ -199,7 +199,7 @@ describe('GyroscopeAndTouch', () => { test('Panels: are rendered correctly', () => { renderGyroscopeOrTouch(isGyroscope); - expect(screen.getByTestId('builder-activity-flanker-common')).toBeVisible(); + expect(screen.getByTestId(`${mockedTestid}-common`)).toBeVisible(); expect(screen.getByTestId(mockedTestid)).toBeVisible(); expect(screen.getByTestId(`${mockedTestid}-overview-instruction`)); expect(screen.getByTestId(`${mockedTestid}-practice-round-instruction`)); @@ -210,11 +210,11 @@ describe('GyroscopeAndTouch', () => { renderGyroscopeOrTouch(isGyroscope); expandAllPanels(); + expect(screen.getByTestId(`${mockedTestid}-name`).querySelector('input')).toHaveValue( + isGyroscope ? 'CST Gyroscope' : 'CST Touch', + ); expect( - screen.getByTestId('builder-activity-flanker-name').querySelector('input'), - ).toHaveValue(isGyroscope ? 'CST Gyroscope' : 'CST Touch'); - expect( - screen.getByTestId('builder-activity-flanker-description').querySelector('textarea'), + screen.getByTestId(`${mockedTestid}-description`).querySelector('textarea'), ).toHaveTextContent( `This Activity contains Stability Tracker (${isGyroscope ? 'Gyroscope' : 'Touch'}) Item.`, ); @@ -265,7 +265,7 @@ describe('GyroscopeAndTouch', () => { test.each` testId | inputType | error | description - ${'builder-activity-flanker-name'} | ${'input'} | ${'Activity Name is required'} | ${'Validation: Activity Name is required'} + ${`${mockedTestid}-name`} | ${'input'} | ${'Activity Name is required'} | ${'Validation: Activity Name is required'} ${`${mockedTestid}-overview-instruction-instruction`} | ${'textarea'} | ${'Overview Instruction is required'} | ${'Validation: Overview Instruction is required'} ${`${mockedTestid}-practice-round-instruction-instruction`} | ${'textarea'} | ${'Practice Round Instruction is required'} | ${'Validation: Practice Round Instruction is required'} ${`${mockedTestid}-test-round-instruction-instruction`} | ${'textarea'} | ${'Test Round Instruction is required'} | ${'Validation: Test Round Instruction is required'} diff --git a/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.tsx b/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.tsx index e0df6a9a55..8de191c167 100644 --- a/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.tsx +++ b/src/modules/Builder/features/PerformanceTasks/GyroscopeAndTouch/GyroscopeAndTouch.tsx @@ -20,7 +20,7 @@ export const GyroscopeAndTouch = ({ type }: GyroscopeAndTouchProps) => { {t(type || '')} - + {t('instructions')} { +export const NameDescription = ({ 'data-testid': dataTestid }: NameDescriptionProps) => { const { t } = useTranslation(); return ( @@ -12,8 +13,9 @@ export const NameDescription = () => { uiType={ToggleContainerUiType.PerformanceTask} title={t('nameAndDescription')} Content={NameDescriptionContent} + contentProps={{ 'data-testid': dataTestid }} headerToggling - data-testid="builder-activity-flanker-common" + data-testid={`${dataTestid}-common`} /> ); }; diff --git a/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescription.types.ts b/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescription.types.ts new file mode 100644 index 0000000000..aa33c23f0f --- /dev/null +++ b/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescription.types.ts @@ -0,0 +1,3 @@ +export type NameDescriptionProps = { + 'data-testid'?: string; +}; diff --git a/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.tsx b/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.tsx index 609f2f72fe..c78dff1a21 100644 --- a/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.tsx +++ b/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.tsx @@ -6,12 +6,15 @@ import { useCurrentActivity, useCustomFormContext } from 'modules/Builder/hooks' import { InputController } from 'shared/components/FormComponents'; import { MAX_NAME_LENGTH, MAX_DESCRIPTION_LENGTH, TEXTAREA_ROWS_COUNT } from 'shared/consts'; -export const NameDescriptionContent = () => { +import { NameDescriptionContentProps } from './NameDescriptionContent.types'; + +export const NameDescriptionContent = ({ + 'data-testid': dataTestid, +}: NameDescriptionContentProps) => { const { t } = useTranslation(); const { control } = useCustomFormContext(); const { fieldName } = useCurrentActivity(); - const dataTestid = 'builder-activity-flanker'; const commonProps = { control, fullWidth: true, diff --git a/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.types.ts b/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.types.ts new file mode 100644 index 0000000000..34889da51e --- /dev/null +++ b/src/modules/Builder/features/PerformanceTasks/NameDescription/NameDescriptionContent/NameDescriptionContent.types.ts @@ -0,0 +1,3 @@ +export type NameDescriptionContentProps = { + 'data-testid'?: string; +}; diff --git a/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx b/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx index efe7c3c2df..2fc793419d 100644 --- a/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx +++ b/src/modules/Builder/features/PerformanceTasks/Unity/Unity.tsx @@ -93,7 +93,7 @@ export const Unity = () => { {t('performanceTasks.unity')} - + {t('unityInstructions')}