add some test

This commit is contained in:
Romulus21
2024-04-01 19:47:15 +02:00
parent 8fcf3dd680
commit 1065da076d
7 changed files with 102 additions and 14 deletions

View File

@@ -2,7 +2,7 @@ import React, {FC, useEffect, useState} from "react"
import {useParams} from "react-router-dom"
import useAxiosTools from "../../hooks/AxiosTools"
import {timeTracker, toDo} from "../../utilities/types"
import {EditSVG} from "../../components/SVG"
import {EditSVG, TrashSVG} from "../../components/SVG"
import Field, {TextArea} from "../../components/Field"
import TimeTrackerEdit from "../../components/TimeTrackers/TimeTrackerEdit"
import {Modal} from "../../components/Modals"
@@ -70,7 +70,7 @@ export default ToDoShow
const ToDoTimeTrackers: FC<{toDo: toDo}> = ({toDo: toDo}) => {
const {setLoading, errorCatch, errorLabel, axiosGet} = useAxiosTools(true)
const {setLoading, errorCatch, errorLabel, axiosGet, axiosDelete} = useAxiosTools(true)
const [timeTrackers, setTimeTrackers] = useState<timeTracker[]>([])
const [showTrackers, setShowTrackers] = useState<timeTracker|null>(null)
const [reload, setReload] = useState<timeTracker|null>(null)
@@ -112,6 +112,17 @@ const ToDoTimeTrackers: FC<{toDo: toDo}> = ({toDo: toDo}) => {
return (more ? '+' : '') + timer.durationify()
}
const destroyTimeTracker = async (timeTracker: timeTracker) => {
try {
await axiosDelete('/api/time-trackers/' + timeTracker.id)
await fetchTimeTrackers()
} catch (error) {
errorCatch(error)
} finally {
setLoading(false)
}
}
return <div className="p-5">
<div className="text-center">Temps passé : {timeSpend()}</div>
{errorLabel()}
@@ -134,6 +145,11 @@ const ToDoTimeTrackers: FC<{toDo: toDo}> = ({toDo: toDo}) => {
<EditSVG className="w-5"/>
</button>
</td>
<td className="px-1 text-right">
<button onClick={() => destroyTimeTracker(timeTracker)}>
<TrashSVG className="w-5"/>
</button>
</td>
</tr>)}
</tbody>
</table>