test: enroll user in course before creating certificate
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
import unittest
|
||||
|
||||
import frappe
|
||||
from frappe.utils import add_years, cint, nowdate
|
||||
from frappe.utils import cint, nowdate
|
||||
|
||||
from lms.lms.doctype.lms_certificate.lms_certificate import create_certificate
|
||||
from lms.lms.doctype.lms_course.test_lms_course import new_course
|
||||
@@ -18,6 +18,7 @@ class TestLMSCertificate(unittest.TestCase):
|
||||
"enable_certification": 1,
|
||||
},
|
||||
)
|
||||
create_enrollment(course.name)
|
||||
certificate = create_certificate(course.name)
|
||||
|
||||
self.assertEqual(certificate.member, "Administrator")
|
||||
@@ -26,3 +27,11 @@ class TestLMSCertificate(unittest.TestCase):
|
||||
|
||||
frappe.db.delete("LMS Certificate", certificate.name)
|
||||
frappe.db.delete("LMS Course", course.name)
|
||||
|
||||
|
||||
def create_enrollment(course):
|
||||
enrollment = frappe.new_doc("LMS Enrollment")
|
||||
enrollment.course = course
|
||||
enrollment.member = frappe.session.user
|
||||
enrollment.progress = cint(100)
|
||||
enrollment.save()
|
||||
|
||||
@@ -30,6 +30,7 @@ class TestLMSCourse(unittest.TestCase):
|
||||
frappe.delete_doc("User", "tester@example.com")
|
||||
|
||||
if frappe.db.exists("LMS Course", "test-course"):
|
||||
frappe.db.delete("Batch Course", {"course": "test-course"})
|
||||
frappe.db.delete("Exercise Submission", {"course": "test-course"})
|
||||
frappe.db.delete("Exercise Latest Submission", {"course": "test-course"})
|
||||
frappe.db.delete("LMS Exercise", {"course": "test-course"})
|
||||
|
||||
@@ -2204,12 +2204,7 @@ def get_program_details(program_name):
|
||||
|
||||
@frappe.whitelist()
|
||||
def enroll_in_program(program):
|
||||
if frappe.session.user == "Guest":
|
||||
frappe.throw(_("Please login to enroll in the program."))
|
||||
|
||||
published = frappe.db.get_value("LMS Program", program, "published")
|
||||
if not published:
|
||||
frappe.throw(_("You cannot enroll in an unpublished program."))
|
||||
validate_program_enrollment(program)
|
||||
|
||||
if not frappe.db.exists("LMS Program Member", {"parent": program, "member": frappe.session.user}):
|
||||
program_member = frappe.new_doc("LMS Program Member")
|
||||
@@ -2224,6 +2219,15 @@ def enroll_in_program(program):
|
||||
program_member.save(ignore_permissions=True)
|
||||
|
||||
|
||||
def validate_program_enrollment(program):
|
||||
if frappe.session.user == "Guest":
|
||||
frappe.throw(_("Please login to enroll in the program."))
|
||||
|
||||
published = frappe.db.get_value("LMS Program", program, "published")
|
||||
if not published:
|
||||
frappe.throw(_("You cannot enroll in an unpublished program."))
|
||||
|
||||
|
||||
@frappe.whitelist(allow_guest=True)
|
||||
@rate_limit(limit=500, seconds=60 * 60)
|
||||
def get_batches(filters=None, start=0, order_by="start_date"):
|
||||
|
||||
Reference in New Issue
Block a user