Exemplo n.º 1
0
def courses(request):
    all_courses = Course.get_courses()
    filters_active = []
    sort_active = ''
    if request.method == "GET":
        form = FilterAndSortForm(request.GET)
        if form.is_valid():
            filters = form.cleaned_data.get('filter_by')
            sort_val = form.cleaned_data.get('sort_by')
            sort_result = Course.get_sorted_courses(all_courses, sort_val)
            filter_result = Course.get_filtered_courses(sort_result['result'], filters)
            all_courses = filter_result['result']
            filters_active = filter_result['active']
            sort_active = sort_result['active']
    else:
        form = FilterAndSortForm()

    context = {'all_courses': all_courses, 'filters': filters_active, 'sort': sort_active}
    context['form'] = form
    return render(request, 'homepage/courses/courses.html', context)
Exemplo n.º 2
0
def test_get_sorted_courses_active(all_courses, sort_to_active):
    for key, val in sort_to_active.items():
        assert Course.get_sorted_courses(all_courses, key)['active'] == val
Exemplo n.º 3
0
def test_get_sorted_courses_results(all_courses, sort_to_result):
    for key, val in sort_to_result.items():
        assert list(Course.get_sorted_courses(all_courses,
                                              key)['result']) == list(val)