def test_checkout_empty_cart(self): with f.app_context(): cart.my_cart = None cart.create() cart.checkout_cart() assert cart.my_cart is None
def test_close_cart(self): with f.app_context(): cart.my_cart = None cart.create() cart.add_to_cart('French hen') cart.close_cart() assert cart.my_cart is None
def test_remove_unknown_item(self): with f.app_context(): cart.my_cart = None cart.create() with pytest.raises(NotFound): cart.remove_from_cart('Noisy crow')
def test_close_unopened_cart(self): with f.app_context(): cart.my_cart = None with pytest.raises(NotAcceptable): cart.close_cart() cart.create() assert cart.my_cart is not None
def test_create_cart_for_user(self): with f.app_context(): cart.my_cart = None cart.create() assert cart.my_cart is not None with pytest.raises(NotAcceptable): cart.create()
def test_checkout_cart(self): with f.app_context(): cart.my_cart = None cart.create() cart.add_to_cart('Turtle dove') cart.add_to_cart('French hen') cart.checkout_cart() assert cart.my_cart is None
def test_remove_item_not_in_cart(self): with f.app_context(): cart.my_cart = None cart.create() cart.add_to_cart('Turtle dove') cart.remove_from_cart('Turtle dove') with pytest.raises(NotAcceptable): cart.remove_from_cart('Turtle dove') with pytest.raises(NotAcceptable): cart.remove_from_cart('Chachalaca')
def test_checkout_over_stock_cart(self): with f.app_context(): cart.my_cart = None cart.create() # let's exploit how Carts are implemented! cart.my_cart.add(Item({ 'title': "Chachalaca", 'price': Decimal('3.50'), 'inventory_count': 999 # fake inventory_count fools the quantity check })) with pytest.raises(NotAcceptable): cart.checkout_cart()
def test_add(self): with f.app_context(): cart.my_cart = None cart.create() cart.add_to_cart('French hen') cart.add_to_cart('French hen') cart.add_to_cart('Turtle dove') assert cart.my_cart.items == [ {'product': HEN, 'quantity': 2}, {'product': DOVE, 'quantity': 1} ] cart.add_to_cart('French hen') with pytest.raises(NotAcceptable): cart.add_to_cart('French hen')
def test_view_cart(self): with f.app_context(): cart.my_cart = None cart.create() assert cart.view_cart() == { 'total': Decimal('0'), 'items': [] } cart.add_to_cart('Turtle dove') cart.add_to_cart('Turtle dove') cart.add_to_cart('French hen') assert cart.view_cart() == { 'total': Decimal('34.67'), 'items': [ {'product': DOVE, 'quantity': 2}, {'product': HEN, 'quantity': 1} ] }
def test_remove_items(self): with f.app_context(): cart.my_cart = None cart.create() cart.add_to_cart('Turtle dove') cart.add_to_cart('Turtle dove') cart.add_to_cart('French hen') cart.remove_from_cart('Turtle dove') cartstruct = cart.view_cart() assert cartstruct['total'] == Decimal('22.42') assert cartstruct['items'] == [ {'product': DOVE, 'quantity': 1}, {'product': HEN, 'quantity': 1} ] cart.remove_from_cart('Turtle dove') cart.remove_from_cart('French hen') cartstruct = cart.view_cart() assert cartstruct['total'] == Decimal('0') assert cartstruct['items'] == []