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))
Пример #2
0
    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