def test_get_item_by_code_not_existing_code(self): items = [{ 'code': 'ITEM_CODE', 'name': 'item name', 'value': { 'EUR': 100, }, }] client = Client(currency='EUR') client.items = items item = client.get_item_by_code('NOT_EXISTING_CODE') assert item is None
def test_calculate_total_with_empty_cart(self): client = Client(currency='EUR') client.cart = { 'ITEM_CODE': 0, } client.items = [{ 'code': 'ITEM_CODE', 'name': 'item name', 'value': { 'EUR': 100, }, }] response = client.calculate_total() assert response == 0
def test_get_item_by_code(self): item_code = 'ITEM_CODE' items = [{ 'code': item_code, 'name': 'item name', 'value': { 'EUR': 100, }, }] client = Client(currency='EUR') client.items = items item = client.get_item_by_code(item_code) assert item['code'] == items[0]['code'] assert item['name'] == items[0]['name'] assert item['value'] == items[0]['value']
def test_calculate_total_with_discounts(self, client_mock): client_mock.return_value = [{ 'item': 'ITEM_CODE', 'base_quantity': 2, 'max_quantity': 100, 'free_items': 1, 'type': 'FREE', }] client = Client(currency='EUR') client.cart = { 'ITEM_CODE': 5, } client.items = [{ 'code': 'ITEM_CODE', 'name': 'item name', 'value': { 'EUR': 100, }, }] response = client.calculate_total() assert response == 300