def test_filter_queryset_by_tags(self): code_objects = self.code_model.objects.all() tag_slugs_one = "javascript+mapping" queryset_one, tags_one = filter_queryset_by_tags(code_objects, tag_slugs_one, tags=[]) self.assertQuerysetEqual(queryset_one, [self.code_one]) self.assertEqual(tags_one, [self.tech_tag, self.concept_tag]) tag_slugs_two = "mapping" queryset_two, tags_two = filter_queryset_by_tags(code_objects, tag_slugs_two, tags=[]) self.assertQuerysetEqual(queryset_two, [self.code_one, self.code_two]) self.assertEqual(tags_two, [self.concept_tag]) tag_slugs_three = "javascript" queryset_three, tags_three = filter_queryset_by_tags(code_objects, tag_slugs_three, tags=[]) self.assertQuerysetEqual(queryset_three, [self.code_one, self.code_three]) self.assertEqual(tags_three, [self.tech_tag]) tag_slugs_four = "javascript+this_tag_does_not_exist" self.assertRaises( Http404, lambda: filter_queryset_by_tags( code_objects, tag_slugs_four, tags=[]))
def get_queryset(self): queryset = Code.live_objects.prefetch_related('organizations') if self.tag_slugs: queryset, self.tags = filter_queryset_by_tags(queryset, self.tag_slugs, self.tags) return queryset
def get_queryset(self): queryset = Code.live_objects.prefetch_related('organizations') if self.tag_slugs: queryset, self.tags = filter_queryset_by_tags( queryset, self.tag_slugs, self.tags) return queryset
def get_queryset(self): queryset = Code.live_objects.all() if self.tag_slugs: queryset, self.tags = filter_queryset_by_tags( queryset, self.tag_slugs, self.tags) return queryset
def get_queryset(self): queryset = Article.live_objects.filter(show_in_lists=True).prefetch_related('authors', 'people', 'organizations') if self.category: queryset = queryset.filter(category=self.category) elif self.tag_slugs: queryset, self.tags = filter_queryset_by_tags(queryset, self.tag_slugs, self.tags) return queryset
def get_queryset(self): queryset = Article.live_objects.prefetch_related('authors', 'people', 'organizations') if self.section: queryset = queryset.filter(article_type__in=SECTION_MAP[self.section]['article_types']) elif self.category: queryset = queryset.filter(article_type=self.category) elif self.tag_slugs: queryset, self.tags = filter_queryset_by_tags(queryset, self.tag_slugs, self.tags) return queryset
def get_queryset(self): queryset = Article.live_objects.filter(show_in_lists=True).prefetch_related('authors', 'people', 'organizations') if self.section: queryset = queryset.filter(category__section=self.section) elif self.category: queryset = queryset.filter(category=self.category) elif self.tag_slugs: queryset, self.tags = filter_queryset_by_tags(queryset, self.tag_slugs, self.tags) return queryset
def test_filter_queryset_by_tags(self): code_objects = self.code_model.objects.all() tag_slugs_one = "javascript+mapping" queryset_one, tags_one = filter_queryset_by_tags(code_objects, tag_slugs_one, tags=[]) self.assertQuerysetEqual(queryset_one, [self.code_one]) self.assertEqual(tags_one, [self.tech_tag, self.concept_tag]) tag_slugs_two = "mapping" queryset_two, tags_two = filter_queryset_by_tags(code_objects, tag_slugs_two, tags=[]) self.assertQuerysetEqual(queryset_two, [self.code_one, self.code_two]) self.assertEqual(tags_two, [self.concept_tag]) tag_slugs_three = "javascript" queryset_three, tags_three = filter_queryset_by_tags(code_objects, tag_slugs_three, tags=[]) self.assertQuerysetEqual(queryset_three, [self.code_one, self.code_three]) self.assertEqual(tags_three, [self.tech_tag]) tag_slugs_four = "javascript+this_tag_does_not_exist" self.assertRaises(Http404, lambda: filter_queryset_by_tags( code_objects, tag_slugs_four, tags=[]) )