def test_total_setter(): price = TaxedMoney(net=Money(10, "USD"), gross=Money(15, "USD")) order = models.Order() order.total = price assert order.total_net_amount == Decimal(10) assert order.total.net == Money(10, "USD") assert order.total_gross_amount == Decimal(15) assert order.total.gross == Money(15, "USD") assert order.total.tax == Money(5, "USD")
def test_total_setter(): price = TaxedMoney(net=Money(10, 'USD'), gross=Money(15, 'USD')) order = models.Order() order.total = price assert order.total_net == Money(10, 'USD') assert order.total.net == Money(10, 'USD') assert order.total_gross == Money(15, 'USD') assert order.total.gross == Money(15, 'USD') assert order.total.tax == Money(5, 'USD')
def test_total_setter(billing_address: Address, tax_rates_countries: dict): price = Price(net=10, gross=20, currency='USD') order = models.Order() order.total = price assert order.total_net.net == 10 assert order.total_tax.net == 10 # testing the tax applying from the billing address order.billing_address = billing_address price = Price(net=10, currency='EUR') assert order.total_net.net == 10 for country, tax_rate in tax_rates_countries.items(): billing_address.country = Country(country) order.total = price expected_tax = Decimal(10 * tax_rate) assert order.total_net.net == 10 assert_decimal(order.total_tax.net, expected_tax) assert order.tax_rate == int(tax_rate * 100)
def test_total_setter(): price = Price(net=10, gross=20, currency='USD') order = models.Order() order.total = price assert order.total_net.net == 10 assert order.total_tax.net == 10
def test_total_property_empty_value(): order = models.Order(total_net=None, total_tax=None) assert order.total is None
def test_total_property(): order = models.Order(total_net=20, total_tax=5) assert order.total.gross == 25 assert order.total.tax == 5 assert order.total.net == 20