From 64347a56420820d72382931542aace94c9a176c5 Mon Sep 17 00:00:00 2001 From: scmmishra Date: Wed, 6 Mar 2019 15:18:27 +0530 Subject: [PATCH] feat: Added test for Course Doctype --- erpnext/education/doctype/course/course.py | 22 +---------- .../education/doctype/course/test_course.py | 38 +++++++++++++++---- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/erpnext/education/doctype/course/course.py b/erpnext/education/doctype/course/course.py index c558f6f201e..987823a01e9 100644 --- a/erpnext/education/doctype/course/course.py +++ b/erpnext/education/doctype/course/course.py @@ -19,30 +19,10 @@ class Course(Document): if total_weightage != 100: frappe.throw(_("Total Weightage of all Assessment Criteria must be 100%")) - def get_contents_based_on_type(self): - contents= self.get_contents() - quiz_list = [item for item in contents if item.doctype=="Quiz"] - content_list = [item for item in contents if item.doctype!="Quiz"] - return content_list, quiz_list - def get_topics(self): try: topic_list = self.get_all_children() topic_data = [frappe.get_doc("Topic", topic.topic) for topic in topic_list] except frappe.DoesNotExistError: return None - return topic_data - - def get_contents(self): - try: - topics = self.get_topics() - content_data = [{'name':topic.name, 'topic_name': topic.topic_name ,'content':topic.get_contents()} for topic in topics] - except Exception as e: - return None - return content_data - - def get_first_content(self): - return self.get_contents()[0] - - def get_last_content(self): - return self.get_contents()[-1] \ No newline at end of file + return topic_data \ No newline at end of file diff --git a/erpnext/education/doctype/course/test_course.py b/erpnext/education/doctype/course/test_course.py index 9e0d1850f2e..a24ba8a5276 100644 --- a/erpnext/education/doctype/course/test_course.py +++ b/erpnext/education/doctype/course/test_course.py @@ -2,6 +2,7 @@ # Copyright (c) 2015, Frappe Technologies and Contributors # See license.txt from __future__ import unicode_literals +from erpnext.education.doctype.topic.test_topic import make_topic import frappe import unittest @@ -9,12 +10,35 @@ import unittest # test_records = frappe.get_test_records('Course') class TestCourse(unittest.TestCase): - pass + def setUp(self): + make_course_and_linked_topic("_Test Course 1", ["_Test Topic 1", "_Test Topic 2"]) + + def test_get_topics(self): + course = frappe.get_doc("Course", "_Test Course 1") + topics = course.get_topics() + self.assertEqual(topics[0].name, "_Test Topic 1") + self.assertEqual(topics[1].name, "_Test Topic 2") + frappe.db.rollback() def make_course(name): - course = frappe.get_doc({ - "doctype": "Program", - "course_name": name, - "course_code": name - }).insert() - return course.name \ No newline at end of file + try: + course = frappe.get_doc("Course", name) + except frappe.DoesNotExistError: + course = frappe.get_doc({ + "doctype": "Course", + "course_name": name, + "course_code": name + }).insert() + return course.name + +def make_course_and_linked_topic(course_name, topic_name_list): + try: + course = frappe.get_doc("Course", course_name) + except frappe.DoesNotExistError: + make_course(course_name) + course = frappe.get_doc("Course", course_name) + topic_list = [make_topic(topic_name) for topic_name in topic_name_list] + for topic in topic_list: + course.append("topics", {"topic": topic}) + course.save() + return course