def test_checks_cms_pages_fields(self): request = RequestFactory().get('/') view = mock.Mock(cms_pages_fields='not-a-list-or-tuple') queryset = Product.objects.all() backend = RecursiveCMSPagesFilterBackend() self.assertRaises(ImproperlyConfigured, lambda: backend.filter_queryset(request, queryset, view))
def test_checks_cms_pages_fields(self): request = RequestFactory().get('/') view = mock.Mock(cms_pages_fields='not-a-list-or-tuple') queryset = Product.objects.all() backend = RecursiveCMSPagesFilterBackend() self.assertRaises( ImproperlyConfigured, lambda: backend.filter_queryset(request, queryset, view))
def test_product_on_sibling(self): product = self._create_product("testproduct") ProductPage.objects.create(product=product, page=self.sibling) request = RequestFactory().get('/') request.current_page = self.root view = mock.Mock(cms_pages_fields=['cms_pages']) queryset = Product.objects.all() backend = RecursiveCMSPagesFilterBackend() self.assertEqual(backend.filter_queryset(request, queryset, view).count(), 0)
def test_product_on_sibling(self): product = self._create_product("testproduct") ProductPage.objects.create(product=product, page=self.sibling) request = RequestFactory().get('/') request.current_page = self.root view = mock.Mock(cms_pages_fields=['cms_pages']) queryset = Product.objects.all() backend = RecursiveCMSPagesFilterBackend() self.assertEqual( backend.filter_queryset(request, queryset, view).count(), 0)
def test_products_on_child_and_grandchild(self): product = self._create_product("testproduct") product2 = self._create_product("testproduct2") ProductPage.objects.create(product=product, page=self.child) ProductPage.objects.create(product=product2, page=self.grandchild) request = RequestFactory().get('/') request.current_page = Page.objects.get(title_set__title="root", publisher_is_draft=False) view = mock.Mock(cms_pages_fields=['cms_pages']) queryset = Product.objects.all() backend = RecursiveCMSPagesFilterBackend() self.assertEqual(backend.filter_queryset(request, queryset, view).count(), 2)
def test_products_on_child_and_grandchild(self): product = self._create_product("testproduct") product2 = self._create_product("testproduct2") ProductPage.objects.create(product=product, page=self.child) ProductPage.objects.create(product=product2, page=self.grandchild) request = RequestFactory().get('/') request.current_page = Page.objects.get(title_set__title="root", publisher_is_draft=False) view = mock.Mock(cms_pages_fields=['cms_pages']) queryset = Product.objects.all() backend = RecursiveCMSPagesFilterBackend() self.assertEqual( backend.filter_queryset(request, queryset, view).count(), 2)