def test_course_topics_multiple(self): """ Tests fetching topics for a course when there are multiple courses""" courses = [self._bootstrap_courses(1), self._bootstrap_courses(2)] for _c, course in enumerate(courses): self._bootstrap_topics(course) user = self._bootstrap_user(_c + 1) author = CourseUser.objects.create(user=user, course=course) self._bootstrap_questions(author) def _e(s): return [x for x in s] course_topics = QuestionService.get_course_topics(courses[0]) self.assertEqual(_e(course_topics), _e(Topic.objects.filter(course=courses[0]))) course_topics = QuestionService.get_course_topics(courses[1]) self.assertEqual(_e(course_topics), _e(Topic.objects.filter(course=courses[1])))
def test_course_topics(self): """ Tests fetching topics for a course""" course = self._bootstrap_courses(1) self._bootstrap_topics(course) user = self._bootstrap_user(1) author = CourseUser.objects.create(user=user, course=course) self._bootstrap_questions(author) course_topics = QuestionService.get_course_topics(course) self.assertEqual(len(course_topics), 6)
def topics(request): logged_in_user = UserService.logged_in_user(request) course_topics = QuestionService.get_course_topics(logged_in_user.course) unique_topics = [x.toJSON() for x in course_topics] return JsonResponse({"data": unique_topics})