perform test #1

test to courses

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-06-24 12:49:20 +08:00
parent fbef7cb6e6
commit 93c3c688ca
26 changed files with 2141 additions and 452 deletions
+28 -2
View File
@@ -130,11 +130,34 @@ export function ClientCoursesProvider({ children }) {
}
}, []);
const submitCourseAssessment = useCallback(async (courseId, assessmentId, answers) => {
const startCourseAssessment = useCallback(async (courseId, assessmentId) => {
try {
const { data } = await api.post(`/client/courses/${courseId}/assessment/${assessmentId}/start`);
return data.data ?? null;
} catch (err) {
toast.error(err?.response?.data?.message ?? "Could not start assessment.");
return null;
}
}, []);
const saveDraft = useCallback(async (courseId, assessmentId, answers) => {
try {
await api.patch(`/client/courses/${courseId}/assessment/${assessmentId}/draft`, { answers });
} catch { /* silent — draft saves are best-effort */ }
}, []);
const refreshAssessmentSession = useCallback(async (courseId, assessmentId) => {
try {
const { data } = await api.get(`/client/courses/${courseId}/assessment/${assessmentId}/session`);
return data.data ?? null;
} catch { return null; }
}, []);
const submitCourseAssessment = useCallback(async (courseId, assessmentId, answers, sessionId) => {
try {
const { data } = await api.post(
`/client/courses/${courseId}/assessment/${assessmentId}/submit`,
{ answers }
{ answers, ...(sessionId ? { session_id: sessionId } : {}) }
);
return data.data ?? null;
} catch (err) {
@@ -214,6 +237,9 @@ export function ClientCoursesProvider({ children }) {
getLesson,
getUnitQuiz,
getCourseAssessment,
startCourseAssessment,
saveDraft,
refreshAssessmentSession,
submitUnitQuiz,
submitCourseAssessment,