示例#1
0
    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])))
示例#2
0
    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)
示例#3
0
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})