From 68c66ea03bc87bddf927f4f80ed619478a7d8e6d Mon Sep 17 00:00:00 2001 From: kimatata <117462761+kimatata@users.noreply.github.com> Date: Sat, 12 Apr 2025 20:41:49 +0900 Subject: [PATCH] fix: test case's steps not update (#203) --- .../[folderId]/cases/[caseId]/CaseEditor.tsx | 34 +++++++++++-------- .../cases/[caseId]/CaseStepsEditor.tsx | 4 +-- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseEditor.tsx b/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseEditor.tsx index ddd3c13..4f57a23 100644 --- a/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseEditor.tsx +++ b/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseEditor.tsx @@ -190,6 +190,25 @@ export default function CaseEditor({ } }; + const onStepUpdate = (stepId: number, changeStep: StepType) => { + if (changeStep.editState === 'notChanged') { + changeStep.editState = 'changed'; + } + + if (testCase.Steps) { + setTestCase({ + ...testCase, + Steps: testCase.Steps.map((step) => { + if (step.id === stepId) { + return changeStep; + } else { + return step; + } + }), + }); + } + }; + useEffect(() => { async function fetchDataEffect() { if (!tokenContext.isSignedIn()) { @@ -394,20 +413,7 @@ export default function CaseEditor({ { - if (testCase.Steps) { - setTestCase({ - ...testCase, - Steps: testCase.Steps.map((step) => { - if (step.id === stepId) { - return changeStep; - } else { - return step; - } - }), - }); - } - }} + onStepUpdate={onStepUpdate} onStepPlus={onPlusClick} onStepDelete={onDeleteClick} messages={messages} diff --git a/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseStepsEditor.tsx b/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseStepsEditor.tsx index d5aff92..ff6602c 100644 --- a/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseStepsEditor.tsx +++ b/frontend/src/app/[locale]/projects/[projectId]/folders/[folderId]/cases/[caseId]/CaseStepsEditor.tsx @@ -35,7 +35,7 @@ export default function StepsEditor({ isDisabled, steps, onStepUpdate, onStepPlu label={messages.detailsOfTheStep} value={step.step} onValueChange={(changeValue) => { - onStepUpdate(step.id, { ...step, step: changeValue, editState: 'changed' }); + onStepUpdate(step.id, { ...step, step: changeValue }); }} /> @@ -46,7 +46,7 @@ export default function StepsEditor({ isDisabled, steps, onStepUpdate, onStepPlu label={messages.expectedResult} value={step.result} onValueChange={(changeValue) => { - onStepUpdate(step.id, { ...step, result: changeValue, editState: 'changed' }); + onStepUpdate(step.id, { ...step, result: changeValue }); }} />