Exemplo n.º 1
0
def preqs_list(courses):
    return [
        Prerequisites(course_id=courses[1],
                      req_course_id=courses[0],
                      req_code=Prerequisites.Req_Code.BEFORE),
        Prerequisites(course_id=courses[1],
                      req_course_id=courses[2],
                      req_code=Prerequisites.Req_Code.BEFORE)
    ]
Exemplo n.º 2
0
def test_create_new_invalid_prerequisite(courses):
    invalid = False
    preq = Prerequisites(course_id=courses[1],
                         req_course_id=courses[0],
                         req_code=3)
    try:
        preq.clean_fields()
    except ValidationError:
        invalid = True

    assert invalid
Exemplo n.º 3
0
def preqs_list(courses):
    preqs = [
        Prerequisites(course_id=courses[1],
                      req_course_id=courses[0],
                      req_code=Prerequisites.Req_Code.BEFORE),
        Prerequisites(course_id=courses[1],
                      req_course_id=courses[2],
                      req_code=Prerequisites.Req_Code.BEFORE)
    ]
    for preq in preqs:
        preq.save()
    return preqs
Exemplo n.º 4
0
    def generate_data(apps, schema_editor):
        from homepage.models import Course
        from homepage.models import Prerequisites

        test_data_course = [
            (10231, 'UnFogging the Future', True, 4, 'Currently Unavailable',
             3.25, 1.5, 12, 12),
            (10221, 'Grammatica in Arithmancy', False, 3,
             'Currently Unavailable', 4.25, 4.5, 10, 9),
            (10111, 'Resonance in Runes and Signs', True, 3,
             'Currently Unavailable', 2.25, 2.0, 13, 13),
            (12357, 'Numerology', False, 5, 'Currently Unavailable', 3.5, 2.5,
             7, 3),
        ]

        courses = [Course(*tdc) for tdc in test_data_course]
        test_data_prerequisites = [
            (courses[3], courses[0], 1),
            (courses[2], courses[1], 0),
        ]

        with transaction.atomic():
            for course in courses:
                course.save()

            for preq in test_data_prerequisites:
                Prerequisites(course_id=preq[0],
                              req_course_id=preq[1],
                              req_code=preq[2]).save()
    def generate_data(apps, schema_editor):
        from homepage.models import Course
        from homepage.models import Prerequisites

        test_data_course = [
            (10340, 'No Return - through the Lense', True, 4, None),
            (10341, 'Open Source 101', False, 3, "https://www.github.com",
             4.25, 4.5, 10, 9),
            (10342, 'Normalized Spatial Schemes', True, 3, None, 3, 5, 1, 0),
            (12343, 'Easier than Zoology', False, 5, None, 3.5, 2.5, 7, 3),
        ]

        courses = [Course(*tdc) for tdc in test_data_course]
        test_data_prerequisites = [
            (courses[3], courses[0], 1),
            (courses[2], courses[1], 0),
        ]

        with transaction.atomic():
            for course in courses:
                course.save()

            for preq in test_data_prerequisites:
                Prerequisites(course_id=preq[0],
                              req_course_id=preq[1],
                              req_code=preq[2]).save()
Exemplo n.º 6
0
def course(request, id):
    try:
        course = Course.objects.get(pk=id)
        reviews = Review.objects.filter(course=id).order_by('-likes_num')
        preq = Prerequisites.get_prerequisites_for_course(course)
        liked_reviews = []
        is_following = False
        if not request.user.is_anonymous:
            liked_reviews = UserLikes.get_liked_reviews_by_user_for_course(request.user, course)
            is_following = FollowedUserCourses.is_following_course(request.user, course)
        return render(request, 'homepage/courses/course.html', {
            'id': id,
            'course': course,
            'reviews': reviews,
            'liked_reviews': liked_reviews,
            'is_following': is_following,
            'preq': preq
        })
    except ObjectDoesNotExist:
        return redirect('courses')
Exemplo n.º 7
0
def test_does_course_have_prerequisites_for_no_preqs(courses):

    assert not Prerequisites.does_course_have_prerequisites(courses[0])
Exemplo n.º 8
0
def test_does_course_have_prerequisites_for_multi_preqs(courses, preqs_list):
    for preq in preqs_list:
        preq.save()

    assert Prerequisites.does_course_have_prerequisites(courses[1])
Exemplo n.º 9
0
def test_does_course_have_prerequisites_one_preqs(courses, preqs_list):
    preq = preqs_list[0]
    preq.save()

    assert Prerequisites.does_course_have_prerequisites(courses[1])
Exemplo n.º 10
0
def test_get_prerequisites_for_course_with_no_preqs(courses):

    assert not Prerequisites.get_prerequisites_for_course(courses[0]).exists()
Exemplo n.º 11
0
def test_get_prerequisites_for_course_with_multi_preqs(courses, preqs_list):
    for preq in preqs_list:
        preq.save()

    assert Prerequisites.get_prerequisites_for_course(courses[1]).count() == 2
Exemplo n.º 12
0
def test_get_prerequisites_for_course_with_one_preqs(courses, preqs_list):
    preq = preqs_list[0]
    preq.save()

    assert Prerequisites.get_prerequisites_for_course(courses[1]).count() == 1