Exemplo n.º 1
0
    def test_get_unblocked_by_category_query(self):
        s1 = self.create_sellable()
        s2 = self.create_sellable()
        s3 = self.create_sellable()

        c1 = self.create_sellable_category()
        c2 = self.create_sellable_category()
        s1.category = c1
        s2.category = c2

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1, c2], include_uncategorized=True)
        self.assertEqual(set([s1, s2, s3]),
                         set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1], include_uncategorized=True)
        self.assertEqual(set([s1, s3]), set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1], include_uncategorized=True)
        self.assertEqual(set([s1, s3]), set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1], include_uncategorized=False)
        self.assertEqual(set([s1]), set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [], include_uncategorized=True)
        self.assertEqual(set([s3]), set(self.store.find(Sellable, query)))
Exemplo n.º 2
0
    def test_get_unblocked_by_category_query(self):
        s1 = self.create_sellable()
        s2 = self.create_sellable()
        s3 = self.create_sellable()

        c1 = self.create_sellable_category()
        c2 = self.create_sellable_category()
        s1.category = c1
        s2.category = c2

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1, c2], include_uncategorized=True)
        self.assertEqual(
            set([s1, s2, s3]),
            set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1], include_uncategorized=True)
        self.assertEqual(
            set([s1, s3]),
            set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1], include_uncategorized=True)
        self.assertEqual(
            set([s1, s3]),
            set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [c1], include_uncategorized=False)
        self.assertEqual(
            set([s1]),
            set(self.store.find(Sellable, query)))

        query = Sellable.get_unblocked_by_categories_query(
            self.store, [], include_uncategorized=True)
        self.assertEqual(
            set([s3]),
            set(self.store.find(Sellable, query)))
Exemplo n.º 3
0
    def _get_sellables_query(self):
        categories = [c.category for c in self.category_tree if
                      c.selected and c is not self._uncategorized_products]
        include_uncategorized = self._uncategorized_products.selected

        query = Sellable.get_unblocked_by_categories_query(
            self.store, categories, include_uncategorized)

        queries = [query]
        if self.model.product_manufacturer:
            queries.append(Product.manufacturer == self.model.product_manufacturer)
        if self.model.product_brand:
            queries.append(Product.brand == self.model.product_brand)
        if self.model.product_family:
            queries.append(Product.family == self.model.product_family)

        return And(*queries)
Exemplo n.º 4
0
    def _get_sellables_query(self):
        categories = [c.category for c in self.category_tree if
                      c.selected and c is not self._uncategorized_products]
        include_uncategorized = self._uncategorized_products.selected

        query = Sellable.get_unblocked_by_categories_query(
            self.store, categories, include_uncategorized)

        queries = [query]
        if self.model.product_manufacturer:
            queries.append(Product.manufacturer == self.model.product_manufacturer)
        if self.model.product_brand:
            queries.append(Product.brand == self.model.product_brand)
        if self.model.product_family:
            queries.append(Product.family == self.model.product_family)

        return And(*queries)