22 lines
611 B
Python
22 lines
611 B
Python
from src.tutorial.testing.shop.pricing import discount_price
|
|
import pytest
|
|
|
|
|
|
def test_discount_price_reduces_price():
|
|
result = discount_price(100.0, 20.0)
|
|
assert result == 80
|
|
|
|
assert discount_price(100.0, 50.0) == 50
|
|
assert discount_price(100.0, 0) == 100
|
|
assert discount_price(100.0, 100) == 0
|
|
|
|
|
|
def test_negative_orice_raises_value_error() -> None:
|
|
with pytest.raises(ValueError):
|
|
discount_price(-100.0, 50.0) is ValueError
|
|
|
|
|
|
def test_percent_above_hundered_message() -> None:
|
|
with pytest.raises(ValueError, match="between 0 and 100"):
|
|
discount_price(100.0, 150.0)
|