def test_remove_cart_articles(self): shopping_site = IShoppingSite(self.portal) session = shopping_site.getSessionData(create=True) session.set('collective.cart.core', {'articles': {'1': 'ARTICLE1', '2': 'ARTICLE2', '3': 'ARTICLE3'}}) self.assertEqual(shopping_site.remove_cart_articles('4'), []) self.assertEqual(shopping_site.cart_articles(), {'1': 'ARTICLE1', '2': 'ARTICLE2', '3': 'ARTICLE3'}) self.assertEqual(shopping_site.remove_cart_articles(['2', '3']), ['ARTICLE2', 'ARTICLE3']) self.assertEqual(shopping_site.cart_articles(), {'1': 'ARTICLE1'}) self.assertEqual(shopping_site.remove_cart_articles('1'), ['ARTICLE1']) self.assertEqual(shopping_site.cart_articles(), {})
def update(self): form = self.request.form uuid = form.get("form.buttons.RemoveArticle", None) if uuid is not None: authenticator = self.context.restrictedTraverse("@@authenticator") if not authenticator.verify(): raise Forbidden() shopping_site = IShoppingSite(self.context) shopping_site.remove_cart_articles(uuid) if not shopping_site.cart_articles(): current_base_url = self.context.restrictedTraverse("plone_context_state").current_base_url() return self.request.response.redirect(current_base_url)