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
+45
View File
@@ -39,6 +39,8 @@ export function CoursesProvider({ children }) {
const [quiz, setQuiz] = useState(null);
const [questions, setQuestions] = useState([]);
const [assessment, setAssessment] = useState(null);
const [completions, setCompletions] = useState(null); // { summary, completions[] }
const [sessions, setSessions] = useState(null); // { summary, sessions[] }
const [attributes, setAttributes] = useState([]);
const [pagination, setPagination] = useState(PAGINATION_INIT);
const [loading, setLoading] = useState(false);
@@ -847,6 +849,43 @@ export function CoursesProvider({ children }) {
[request],
);
// =========================================================================
// COMPLETIONS & SESSIONS
// =========================================================================
const fetchQuizCompletions = useCallback(
(courseId, unitId, quizId) =>
request(async () => {
setCompletions(null);
const { data } = await api.get(`${BASE}/${courseId}/units/${unitId}/quiz/${quizId}/completions`);
setCompletions(data?.data ?? null);
return data;
}),
[request],
);
const fetchAssessmentCompletions = useCallback(
(courseId, assessmentId) =>
request(async () => {
setCompletions(null);
const { data } = await api.get(`${BASE}/${courseId}/assessment/${assessmentId}/completions`);
setCompletions(data?.data ?? null);
return data;
}),
[request],
);
const fetchAssessmentSessions = useCallback(
(courseId, assessmentId) =>
request(async () => {
setSessions(null);
const { data } = await api.get(`${BASE}/${courseId}/assessment/${assessmentId}/sessions`);
setSessions(data?.data ?? null);
return data;
}),
[request],
);
// =========================================================================
// COURSE PRODUCT & CATEGORIES
// =========================================================================
@@ -1032,6 +1071,12 @@ export function CoursesProvider({ children }) {
fetchLessonPage,
saveLessonPage,
// ── completions & sessions ─────────────────────────────────────────────
completions, sessions,
fetchQuizCompletions,
fetchAssessmentCompletions,
fetchAssessmentSessions,
// ── assessment ─────────────────────────────────────────────────────────
fetchAssessment,
createAssessment,