def test_receipt_add_product(self): toothbrush = Product("toothbrush", ProductUnit.EACH) apples = Product("apples", ProductUnit.KILO) receipt_toothbrush = ReceiptItem(toothbrush, 2, 1.5, 3) receipt = Receipt() receipt.discount = [] receipt._items = [receipt_toothbrush] self.assertEqual(1, len(receipt._items)) receipt.add_product(apples, 2, 1, 2) self.assertEqual(2, len(receipt._items))
def checks_out_articles_from(self, the_cart): receipt = Receipt() product_quantities = the_cart.items for pq in product_quantities: p = pq.product quantity = pq.quantity unit_price = self.catalog.unit_price(p) price = quantity * unit_price receipt.add_product(p, quantity, unit_price, price) the_cart.handle_offers(receipt, self.offers, self.catalog) return receipt