"use client"; import { useEffect, useState } from "react"; import { Input, Textarea, Select, SelectItem, Chip, Button, } from "@nextui-org/react"; import { priorities, testTypes } from "@/config/selection"; import Config from "@/config/config"; const apiServer = Config.apiServer; type CaseType = { id: number; title: string; state: number; priority: number; type: number; automationStatus: number; description: string; template: number; preConditions: string; expectedResults: string; folderId: number; }; const defaultTestCase = { id: 0, title: "", state: 0, priority: 0, type: 0, automationStatus: 0, description: "", template: 0, preConditions: "", expectedResults: "", folderId: 0, }; /** * fetch case */ async function fetchCase(url: string) { try { const response = await fetch(url, { method: "GET", headers: { "Content-Type": "application/json", }, }); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const data = await response.json(); return data; } catch (error) { console.error("Error fetching data:", error.message); } } /** * Update folder */ async function updateCase(updateCaseData) { const fetchOptions = { method: "PUT", headers: { "Content-Type": "application/json", }, body: JSON.stringify(updateCaseData), }; const url = `${apiServer}/cases/${updateCaseData.id}`; try { const response = await fetch(url, fetchOptions); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const data = await response.json(); return data; } catch (error) { console.error("Error updating project:", error); throw error; } } export default function Page({ params, }: { params: { projectId: string; folderId: string; caseId: string }; }) { const [testCase, setTestCase] = useState(defaultTestCase); const [isTitleInvalid, setIsTitleInvalid] = useState(false); const url = `${apiServer}/cases?caseId=${params.caseId}`; useEffect(() => { async function fetchDataEffect() { try { const data = await fetchCase(url); setTestCase(data); } catch (error) { console.error("Error in effect:", error.message); } } fetchDataEffect(); }, []); return (
{ setTestCase({ ...testCase, title: e.target.value }); }} />