def test_cart(self): shopping_site = IShoppingSite(self.portal) self.assertIsNone(shopping_site.cart()) session = shopping_site.getSessionData(create=True) session.set('collective.cart.core', 'CART') self.assertEqual(shopping_site.cart(), 'CART')
def add_to_cart(self, **kwargs): """Add Article to cart""" shopping_site = IShoppingSite(self.context) cart = shopping_site.cart() if cart is None: session = self.getSessionData(create=True) session.set("collective.cart.core", {}) else: session = self.getSessionData(create=False) articles = IShoppingSite(self.context).cart_articles() if not articles: articles = SessionArticles() uuid = IUUID(self.context) if uuid in articles: items = articles[uuid] self._update_existing_cart_article(items, **kwargs) else: items = { "id": uuid, "title": self.context.Title(), "description": self.context.Description(), "url": self.context.absolute_url(), } items.update(kwargs) articles[uuid] = items shopping_site.update_cart("articles", articles)
def test_remove_from_cart(self): adapter = IShoppingSite(self.portal) self.assertIsNone(adapter.cart()) self.assertIsNone(adapter.remove_from_cart('name')) self.assertIsNone(adapter.cart()) session = adapter.getSessionData(create=True) session.set('collective.cart.core', {}) self.assertEqual(adapter.cart(), {}) self.assertIsNone(adapter.remove_from_cart('name')) self.assertEqual(adapter.cart(), {}) session.set('collective.cart.core', {'name': 'Name'}) self.assertEqual(adapter.cart(), {'name': 'Name'}) self.assertEqual(adapter.remove_from_cart('name'), 'Name') self.assertEqual(adapter.cart(), {})