diff --git a/frontend/app/projects/[projectId]/folders/[folderId]/cases/[caseId]/page.tsx b/frontend/app/projects/[projectId]/folders/[folderId]/cases/[caseId]/page.tsx index f839453..c90d693 100644 --- a/frontend/app/projects/[projectId]/folders/[folderId]/cases/[caseId]/page.tsx +++ b/frontend/app/projects/[projectId]/folders/[folderId]/cases/[caseId]/page.tsx @@ -9,7 +9,7 @@ import { Button, Divider, } from "@nextui-org/react"; -import { ArrowUpFromLine } from "lucide-react"; +import { Plus, ArrowUpFromLine } from "lucide-react"; import { priorities, testTypes, templates } from "@/config/selection"; import StepsEditor from "./steps-editor"; import Config from "@/config/config"; @@ -145,12 +145,44 @@ export default function Page({ const url = `${apiServer}/cases?caseId=${params.caseId}`; + const onPlusClick = async (newStepNo: number) => { + console.log(newStepNo); + }; + const onDeleteClick = async (stepId: number) => { + // find deletedStep's stepNo + const deletedStep = testCase.Steps.find((step) => step.id === stepId); + if (!deletedStep) { + return; + } + const deletedStepNo = deletedStep.caseSteps.stepNo; + console.log(deletedStepNo) + + // delete request await fetchDeleteStep(stepId, params.caseId); - const updatedSteps = testCase.Steps.filter(step => step.id !== stepId); + // const updatedSteps = testCase.Steps.filter((step) => step.id !== stepId); + // setTestCase({ + // ...testCase, + // Steps: updatedSteps, + // }); + + const updatedSteps = testCase.Steps.map(step => { + if (step.caseSteps.stepNo > deletedStepNo) { + console.log("bigger", step) + return { + ...step, + caseSteps: { + ...step.caseSteps, + stepNo: step.caseSteps.stepNo - 1 + } + }; + } + return step; + }).filter(step => step.id !== stepId); + setTestCase({ ...testCase, - Steps: updatedSteps + Steps: updatedSteps, }); }; @@ -305,7 +337,18 @@ export default function Page({ ) : (