Ejemplo n.º 1
0
    def test_invalid_form(self):
        """If the form fails validation, throw a ValidationError."""
        form = VideoSearchForm({
            'region': -5,
            'sort': 'invalid'
        })

        with assert_raises(ValidationError):
            form.perform_search()
Ejemplo n.º 2
0
def video_list(request):
    """Show a list of recent videos, optionally filtered by region or search."""
    page = request.GET.get('page', 1)
    region = request.GET.get('region', None)
    ctx = {}

    if waffle.flag_is_active(request, 'r3'):
        form = VideoSearchForm(request.GET)
        try:
            videos = form.perform_search()
        except ValidationError:
            videos = search_videos()

        ctx['form'] = form
    else:
        videos = Video.objects.filter(approved=True).order_by('-created')
        if region:
            countries = regions.get_countries(region)
            if countries:
                videos = videos.filter(
                    user__userprofile__country__in=countries)

    paginator = Paginator(videos, 12)
    try:
        videos = paginator.page(page)
    except PageNotAnInteger:
        videos = paginator.page(1)  # Default to first page
    except EmptyPage:
        videos = paginator.page(paginator.num_pages)  # Empty page goes to last

    ctx['videos'] = videos
    return render(request, 'videos/2013/list.html', ctx)
Ejemplo n.º 3
0
    def test_valid_search(self, search_videos):
        form = VideoSearchForm(
            self.request, {"query": "asdf", "field": "title", "region": NORTH_AMERICA, "sort": "popular"}
        )

        eq_(form.perform_search(), search_videos.return_value)
        search_videos.assert_called_with(
            query="asdf", fields=AUTOCOMPLETE_FIELDS["title"], region=NORTH_AMERICA, sort="popular"
        )
Ejemplo n.º 4
0
    def test_empty_field_passes_none(self, search_videos):
        """If the field isn't specified, pass None to the fields parameter."""
        form = VideoSearchForm({
            'query': 'asdf',
            'region': NORTH_AMERICA,
            'sort': 'popular'
        })

        eq_(form.perform_search(), search_videos.return_value)
        search_videos.assert_called_with(query='asdf', fields=None,
                                         region=NORTH_AMERICA, sort='popular')
Ejemplo n.º 5
0
def gallery(request):
    """Show the gallery of all submitted videos."""
    ctx = {}
    form = VideoSearchForm(request, request.GET)

    try:
        videos = form.perform_search()
    except ValidationError:
        videos = search_videos()

    ctx['form'] = form
    return video_list(request, videos, ctx)
Ejemplo n.º 6
0
def gallery(request):
    """Show the gallery of all submitted videos."""
    ctx = {}
    form = VideoSearchForm(request, request.GET)

    try:
        videos = form.perform_search()
    except ValidationError:
        videos = search_videos()

    ctx['form'] = form
    return video_list(request, videos, ctx)
Ejemplo n.º 7
0
    def test_empty_field_passes_none(self, search_videos):
        """If the field isn't specified, pass None to the fields parameter."""
        form = VideoSearchForm({
            'query': 'asdf',
            'region': NORTH_AMERICA,
            'sort': 'popular'
        })

        eq_(form.perform_search(), search_videos.return_value)
        search_videos.assert_called_with(query='asdf',
                                         fields=None,
                                         region=NORTH_AMERICA,
                                         sort='popular')
Ejemplo n.º 8
0
    def test_valid_search(self, search_videos):
        form = VideoSearchForm({
            'query': 'asdf',
            'field': 'title',
            'region': NORTH_AMERICA,
            'sort': 'popular'
        })

        eq_(form.perform_search(), search_videos.return_value)
        search_videos.assert_called_with(query='asdf',
                                         fields=FIELD_FILTERS['title'],
                                         region=NORTH_AMERICA,
                                         sort='popular')
Ejemplo n.º 9
0
    def test_valid_search(self, search_videos):
        form = VideoSearchForm({
            'query': 'asdf',
            'field': 'title',
            'region': NORTH_AMERICA,
            'sort': 'popular'
        })

        eq_(form.perform_search(), search_videos.return_value)
        search_videos.assert_called_with(
            query='asdf',
            fields=FIELD_FILTERS['title'],
            region=NORTH_AMERICA,
            sort='popular'
        )
Ejemplo n.º 10
0
    def test_invalid_form(self):
        """If the form fails validation, throw a ValidationError."""
        form = VideoSearchForm({'region': -5, 'sort': 'invalid'})

        with assert_raises(ValidationError):
            form.perform_search()
Ejemplo n.º 11
0
    def test_invalid_form(self):
        """If the form fails validation, throw a ValidationError."""
        form = VideoSearchForm(self.request, {"region": -5, "sort": "invalid"})

        with assert_raises(ValidationError):
            form.perform_search()
Ejemplo n.º 12
0
    def test_empty_field_passes_none(self, search_videos):
        """If the field isn't specified, pass None to the fields parameter."""
        form = VideoSearchForm(self.request, {"query": "asdf", "region": NORTH_AMERICA, "sort": "popular"})

        eq_(form.perform_search(), search_videos.return_value)
        search_videos.assert_called_with(query="asdf", fields=None, region=NORTH_AMERICA, sort="popular")