def test_load_prod_bad_item(faulty_products_json_file, capsys): main.LOGGING = True products = main.load_products(faulty_products_json_file) stdout, _ = capsys.readouterr() assert 'Failed to load a product with data' in stdout assert '(invalid literal for int() with base 10: \'100.0\'' in stdout assert len(products) is 0
def test_load_products(products_json_file): products = main.load_products(products_json_file) assert products assert len(products) == 4 assert all(k in products for k in ('soup', 'bread', 'milk', 'apples')) assert products['soup'].price == 65 assert products['soup'].unit == 'tin' assert products['bread'].price == 80 assert products['bread'].unit == 'loaf' assert products['milk'].price == 130 assert products['milk'].unit == 'bottle' assert products['apples'].price == 100 assert products['apples'].unit == 'bag'
def test_load_products_no_stock(empty_json_file): products = main.load_products(empty_json_file) assert products == {} assert len(products) is 0
def test_load_products_inactive(products_json_file): products = main.load_products(products_json_file) assert 'headphones' not in products