fix: test

This commit is contained in:
sajjadtalkhabi
2026-05-28 15:40:22 +03:30
parent fc0aa2586e
commit 3f3c66a02d
25 changed files with 406 additions and 104 deletions
+2 -5
View File
@@ -84,10 +84,7 @@ export const endpoints = {
deleteSession: '/sessions/:id',
// ─── Backend-aligned: Exams ────────────────────────────────────────────────
// `getExamsList` is not yet in the backend Postman doc, but per the user
// the backend will add it at /exams — wired up now so the FE doesn't need
// to change when the endpoint lands.
getExamsList: '/exams',
getExamsList: '/admin/exams',
showExam: '/exams/:id',
addNewExam: '/exams',
updateExam: '/exams/:id',
@@ -134,7 +131,7 @@ export const endpoints = {
// backend Postman doc currently exposes only create/update/delete/submit/review;
// list + show + submissions list + show-submission stay mock-only until backend
// adds them, but URL shape is locked in.
getAssignmentsList: '/homeworks',
getAssignmentsList: '/admin/homeworks',
showAssignment: '/homeworks/:id',
getAssignmentSubmissions: '/homeworks/:homeworkId/submissions',
showAssignmentSubmission: '/homework-submissions/:submissionId',
@@ -20,11 +20,18 @@ const computeDurationDays = (start, end) => {
return diff >= 0 ? diff : null
}
const courseTermId = (courseId) => {
if (courseId == null) return null
const course = adminCourses.find((c) => c.id === Number(courseId))
return course?.termId ?? course?.term?.id ?? null
}
register('GET', endpoints.getAssignmentsList, ({ query }) => {
let list = filterItems(adminAssignments, query, {
title: 'includes',
courseId: (item, v) => String(item.course?.id) === String(v),
sessionId: (item, v) => String(item.session?.id) === String(v),
termId: (item, v) => String(courseTermId(item.course?.id)) === String(v),
})
list = filterDateRange(list, query)
return paginate(list, query)
+5
View File
@@ -29,6 +29,11 @@ register('GET', endpoints.getExamsList, ({ query }) => {
title: 'includes',
courseId: (item, v) => String(item.course?.id) === String(v),
sessionId: (item, v) => String(item.sessionId) === String(v),
termId: (item, v) => {
const course = adminCourses.find((c) => c.id === Number(item.course?.id))
const termId = course?.termId ?? course?.term?.id ?? null
return String(termId) === String(v)
},
})
list = filterDateRange(list, query)
const { data: items, meta } = paginate(list, query)
+8
View File
@@ -41,6 +41,10 @@ export const useAdminAssignmentsListQuery = (filtersRef, paginationRef, options
...cleanFilters(filtersRef.value),
...paginationRef.value,
}),
select: (response) => ({
data: response?.data?.items ?? response?.data ?? [],
meta: response?.data?.meta ?? response?.meta,
}),
...options,
})
@@ -65,6 +69,10 @@ export const useAdminAssignmentSubmissionsQuery = (
...cleanFilters(filtersRef?.value || {}),
...paginationRef?.value,
}),
select: (response) => ({
data: response?.data?.items ?? response?.data ?? [],
meta: response?.data?.meta ?? response?.meta,
}),
...options,
})