def test_add_item(): cart = Cart() cart.add_item("AP1") cart.add_item("AP1") cart.add_item("CH1") assert len(cart.contents.keys()) == 2 assert cart.contents["CH1"] == 1 assert cart.contents["AP1"] == 2 assert sum(cart.contents.values()) == 3 cart.batch_add_item(["CF1", "CF1", "CF1"]) assert cart.contents["CF1"] == 3 assert sum(cart.contents.values()) == 6
class Client(object): def __init__(self): self.cart = Cart() def add_items(self, code_list): self.cart.batch_add_item(code_list) def clear_cart(self): self.cart = Cart() def get_total(self): cart_contents_with_prices = dict() for code, quantity in self.cart.contents.iteritems(): product = get_product(code) # We don't want to repeat DB lookups when discounts are applied, so create a context # of the cart with current prices and quantities cart_contents_with_prices[code] = Product(code, product["description"], product["price"], quantity) return get_discounted_total(cart_contents_with_prices) / 100.0
def add_to_cart(call): print('ttt') user = User.get_or_create_user(message=call) item = Item.objects.filter(id=call.data.split('_')[1]).first() Cart.create_or_append_to_cart(item, user)
def __init__(self): self.cart = Cart()
def clear_cart(self): self.cart = Cart()
def add_from_csv(self, columns, values): cart = Cart() cart.from_csv(columns, values) self.session.add(cart)
def add(self, number_of_products, total): cart = Cart() cart.number_of_products = number_of_products cart.total = total self.session.add(cart)