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()
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)
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" )
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')
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)
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')
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' )
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()
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()
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")