@@ -1641,6 +1641,9 @@ def test_generate_program_certificate_success_single_requirement_course(
16411641 course_run = CourseRunFactory .create (course = course )
16421642 course_run .enrollment_modes .set (default_mode_records )
16431643 course_run .save ()
1644+ CourseRunEnrollmentFactory .create (
1645+ run = course_run , user = user , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
1646+ )
16441647 CourseRunGradeFactory .create (course_run = course_run , user = user , passed = True , grade = 1 )
16451648
16461649 CourseRunCertificateFactory .create (user = user , course_run = course_run )
@@ -1686,6 +1689,12 @@ def test_generate_program_certificate_success_multiple_required_courses(
16861689 run .enrollment_modes .set (default_mode_records )
16871690 run .save ()
16881691
1692+ CourseRunEnrollmentFactory .create_batch (
1693+ 3 ,
1694+ run = factory .Iterator (course_runs ),
1695+ user = user ,
1696+ enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE ,
1697+ )
16891698 CourseRunCertificateFactory .create_batch (
16901699 3 , user = user , course_run = factory .Iterator (course_runs )
16911700 )
@@ -1995,6 +2004,9 @@ def test_generate_program_certificate_with_subprogram_requirement( # noqa: PLR0
19952004 sub_course_run = CourseRunFactory .create (course = sub_course )
19962005 sub_course_run .enrollment_modes .set (default_mode_records )
19972006 sub_course_run .save ()
2007+ CourseRunEnrollmentFactory .create (
2008+ run = sub_course_run , user = user , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
2009+ )
19982010 CourseRunGradeFactory .create (
19992011 course_run = sub_course_run , user = user , passed = True , grade = 1
20002012 )
@@ -2065,6 +2077,9 @@ def test_generate_program_certificate_with_revoked_subprogram_certificate(
20652077
20662078 # User completes the sub-program and gets a certificate, but it gets revoked
20672079 sub_course_run = CourseRunFactory .create (course = sub_course )
2080+ CourseRunEnrollmentFactory .create (
2081+ run = sub_course_run , user = user , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
2082+ )
20682083 CourseRunGradeFactory .create (
20692084 course_run = sub_course_run , user = user , passed = True , grade = 1
20702085 )
@@ -2122,6 +2137,14 @@ def test_generate_program_certificate_audit_courses(user, default_mode_records):
21222137 program .add_requirement (cert_course )
21232138 program .add_requirement (audit_course )
21242139
2140+ # Add some additional course runs for the audit course.
2141+ # This test missed a case - if the course had a mix of runs that were both
2142+ # audit-only and not, the certificates wouldn't be generated.
2143+
2144+ audit_verified_course_run = CourseRunFactory .create (course = audit_course )
2145+ audit_verified_course_run .enrollment_modes .set (default_mode_records )
2146+ audit_verified_course_run .save ()
2147+
21252148 ProgramEnrollment .objects .create (
21262149 user = user ,
21272150 program = program ,
@@ -3478,6 +3501,9 @@ def test_generate_missing_program_certificates_creates_cert(
34783501 course_run = CourseRunFactory .create (course = course )
34793502 course_run .enrollment_modes .set (default_mode_records )
34803503 course_run .save ()
3504+ CourseRunEnrollmentFactory .create (
3505+ run = course_run , user = user , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
3506+ )
34813507
34823508 ProgramEnrollment .objects .create (
34833509 user = user , program = program , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
@@ -3510,6 +3536,9 @@ def test_generate_missing_program_certificates_idempotent(
35103536 course_run = CourseRunFactory .create (course = course )
35113537 course_run .enrollment_modes .set (default_mode_records )
35123538 course_run .save ()
3539+ CourseRunEnrollmentFactory .create (
3540+ run = course_run , user = user , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
3541+ )
35133542
35143543 ProgramEnrollment .objects .create (
35153544 user = user , program = program , enrollment_mode = EDX_ENROLLMENT_VERIFIED_MODE
0 commit comments