From ee9f858933720d5ad9201dbd02500bedfba13108 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 17 Feb 2022 12:46:35 +0530 Subject: [PATCH] test: certificate creation --- .../lms_certification/lms_certification.py | 2 +- .../test_lms_certification.py | 20 ++++++++++++-- .../lms/doctype/lms_course/test_lms_course.py | 27 ++++++++++--------- school/www/batch/learn.js | 2 +- school/www/courses/course.js | 2 +- 5 files changed, 36 insertions(+), 17 deletions(-) diff --git a/school/lms/doctype/lms_certification/lms_certification.py b/school/lms/doctype/lms_certification/lms_certification.py index f0b29ee5..d633d13d 100644 --- a/school/lms/doctype/lms_certification/lms_certification.py +++ b/school/lms/doctype/lms_certification/lms_certification.py @@ -42,4 +42,4 @@ def create_certificate(course): "expiry_date": expiry_date }) certificate.save(ignore_permissions=True) - return certificate.name + return certificate diff --git a/school/lms/doctype/lms_certification/test_lms_certification.py b/school/lms/doctype/lms_certification/test_lms_certification.py index 62df184a..e67ee33b 100644 --- a/school/lms/doctype/lms_certification/test_lms_certification.py +++ b/school/lms/doctype/lms_certification/test_lms_certification.py @@ -1,8 +1,24 @@ # Copyright (c) 2021, FOSS United and Contributors # See license.txt -# import frappe +import frappe import unittest +from school.lms.doctype.lms_course.lms_course import new_course +from school.lms.doctype.lms_certification.lms_certification import create_certificate class TestLMSCertification(unittest.TestCase): - pass + + def setup(self): + self.course = new_course("Test Certificate") + + def test_certificate_creation(self): + self.certificate = create_certificate(self.course.name) + self.assertEqual(self.certificate.student, "Administrator") + self.assertEqual(self.certificate.course, self.course.name) + self.assertEqual(self.certificate.issue_date, frappe.utils.nowdate()) + self.assertEqual(self.certificate.expiry_date, None) + + def tearDown(self): + frappe.db.delete("LMS Course", self.course.name) + frappe.db.delete("LMS Certification", self.certificate.name) + diff --git a/school/lms/doctype/lms_course/test_lms_course.py b/school/lms/doctype/lms_course/test_lms_course.py index 2cf891eb..7b592d69 100644 --- a/school/lms/doctype/lms_course/test_lms_course.py +++ b/school/lms/doctype/lms_course/test_lms_course.py @@ -12,18 +12,10 @@ class TestLMSCourse(unittest.TestCase): frappe.db.sql('delete from `tabLMS Course Mentor Mapping`') frappe.db.sql('delete from `tabLMS Course`') - def new_course(self, title): - doc = frappe.get_doc({ - "doctype": "LMS Course", - "title": title, - "short_introduction": title, - "description": title - }) - doc.insert(ignore_permissions=True) - return doc + def test_new_course(self): - course = self.new_course("Test Course") + course = new_course("Test Course") assert course.title == "Test Course" assert course.name == "test-course" @@ -32,7 +24,7 @@ class TestLMSCourse(unittest.TestCase): assert courses == [] # new couse, but not published - course = self.new_course("Test Course") + course = new_course("Test Course") assert courses == [] # publish the course @@ -45,7 +37,7 @@ class TestLMSCourse(unittest.TestCase): # disabled this test as it is failing def _test_add_mentors(self): - course = self.new_course("Test Course") + course = new_course("Test Course") assert course.get_mentors() == [] user = new_user("Tester", "tester@example.com") @@ -66,3 +58,14 @@ def new_user(name, email): first_name=name)) doc.insert() return doc + +def new_course(title, certificate=0): + doc = frappe.get_doc({ + "doctype": "LMS Course", + "title": title, + "short_introduction": title, + "description": title, + "enable_certificate": certificate + }) + doc.insert(ignore_permissions=True) + return doc diff --git a/school/www/batch/learn.js b/school/www/batch/learn.js index 25824704..7260a9a7 100644 --- a/school/www/batch/learn.js +++ b/school/www/batch/learn.js @@ -246,7 +246,7 @@ const create_certificate = (e) => { "course": course }, callback: (data) => { - window.location.href = `/courses/${course}/${data.message}`; + window.location.href = `/courses/${course}/${data.message.name}`; } }) }; diff --git a/school/www/courses/course.js b/school/www/courses/course.js index f726eeb9..cd2e62a2 100644 --- a/school/www/courses/course.js +++ b/school/www/courses/course.js @@ -233,7 +233,7 @@ const create_certificate = (e) => { "course": course }, callback: (data) => { - window.location.href = `/courses/${course}/${data.message}`; + window.location.href = `/courses/${course}/${data.message.name}`; } }) };