Skip to content

Commit c4b6ac7

Browse files
committed
fix more tests
1 parent 4793874 commit c4b6ac7

File tree

2 files changed

+57
-5
lines changed

2 files changed

+57
-5
lines changed

frontends/api/src/mitxonline/test-utils/factories/enrollment.ts

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import type {
66
CourseRunEnrollmentRequestV2,
77
CourseRunGrade,
88
UserProgramEnrollmentDetail,
9+
V2UserProgramEnrollmentDetail,
10+
CertificatePageModel,
911
} from "@mitodl/mitxonline-api-axios/v2"
1012
import { UniqueEnforcer } from "enforce-unique"
1113
import { factories } from ".."
@@ -193,9 +195,45 @@ const programEnrollment: PartialFactory<UserProgramEnrollmentDetail> = (
193195
return mergeOverrides<UserProgramEnrollmentDetail>(defaults, overrides)
194196
}
195197

198+
const programEnrollmentV2: PartialFactory<V2UserProgramEnrollmentDetail> = (
199+
overrides = {},
200+
): V2UserProgramEnrollmentDetail => {
201+
const program = factories.programs.program()
202+
const hasCertificate = faker.datatype.boolean()
203+
const defaults: V2UserProgramEnrollmentDetail = {
204+
certificate: hasCertificate
205+
? {
206+
uuid: faker.string.uuid(),
207+
user: {
208+
id: faker.number.int(),
209+
username: faker.internet.username(),
210+
name: faker.person.fullName(),
211+
created_on: faker.date.past().toISOString(),
212+
updated_on: faker.date.recent().toISOString(),
213+
},
214+
is_revoked: false,
215+
certificate_page: {
216+
id: faker.number.int(),
217+
} as Partial<CertificatePageModel> as CertificatePageModel,
218+
program: program,
219+
certificate_page_revision: faker.number.int({ min: 1, max: 10 }),
220+
}
221+
: null,
222+
program: program,
223+
enrollments: [courseEnrollment()],
224+
}
225+
return mergeOverrides<V2UserProgramEnrollmentDetail>(defaults, overrides)
226+
}
227+
196228
// Not paginated
197229
const courseEnrollments = (count: number): CourseRunEnrollmentRequestV2[] => {
198230
return new Array(count).fill(null).map(() => courseEnrollment())
199231
}
200232

201-
export { courseEnrollment, courseEnrollments, grade, programEnrollment }
233+
export {
234+
courseEnrollment,
235+
courseEnrollments,
236+
grade,
237+
programEnrollment,
238+
programEnrollmentV2,
239+
}

frontends/main/src/app-pages/DashboardPage/OrganizationContent.test.tsx

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
mitxonlineProgram,
1515
sortDashboardCourses,
1616
} from "./CoursewareDisplay/transform"
17+
import type { CertificatePageModel } from "@mitodl/mitxonline-api-axios/v2"
1718
import {
1819
createCoursesWithContractRuns,
1920
createEnrollmentsForContractRuns,
@@ -436,13 +437,26 @@ describe("OrganizationContent", () => {
436437
program_type: "Program", // Set specific program type
437438
certificate: {
438439
uuid: "cert-123",
439-
url: "/certificates/program/1",
440+
url: "/certificate/program/cert-123",
440441
},
441442
}
442-
const programEnrollment = factories.enrollment.programEnrollment({
443-
program: { id: programWithCertificate.id },
443+
const programEnrollment = factories.enrollment.programEnrollmentV2({
444+
program: programWithCertificate,
444445
certificate: {
445-
link: programWithCertificate.certificate.url,
446+
uuid: programWithCertificate.certificate.uuid,
447+
user: {
448+
id: 1,
449+
username: "testuser",
450+
name: "Test User",
451+
created_on: new Date().toISOString(),
452+
updated_on: new Date().toISOString(),
453+
},
454+
is_revoked: false,
455+
certificate_page: {
456+
id: 1,
457+
} as Partial<CertificatePageModel> as CertificatePageModel,
458+
program: programWithCertificate,
459+
certificate_page_revision: 1,
446460
},
447461
})
448462
setMockResponse.get(urls.programs.programsList({ org_id: orgX.id }), {

0 commit comments

Comments
 (0)