Esempio n. 1
0
    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))
Esempio n. 2
0
    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))
Esempio n. 3
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)
Esempio n. 4
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)
Esempio n. 5
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)
Esempio n. 6
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)