Exemple #1
0
def test_compounded_added_taxes_complex2(prices):
    (taxless_price, taxful_price) = prices

    res1 = calculate_compounded_added_taxes(taxless_price, COMPLEX_TAX_GROUPS)
    assert res1.taxless == taxless_price
    assert res1.taxful == taxful_price

    res2 = calculate_compounded_added_taxes(taxful_price, COMPLEX_TAX_GROUPS)
    assert res2.taxless == taxless_price
    assert res2.taxful == taxful_price
Exemple #2
0
def test_compounded_added_taxes_empty(price):
    result = calculate_compounded_added_taxes(price, [])
    assert result.taxful == tfprice(123)
    assert result.taxless == tlprice(123)
    assert result.taxes == []

    result2 = calculate_compounded_added_taxes(price, [[]])
    assert result2.taxful == tfprice(123)
    assert result2.taxless == tlprice(123)
    assert result2.taxes == []
def test_compounded_added_taxes_empty(price):
    result = calculate_compounded_added_taxes(price, [])
    assert result.taxful == tfprice(123)
    assert result.taxless == tlprice(123)
    assert result.taxes == []

    result2 = calculate_compounded_added_taxes(price, [[]])
    assert result2.taxful == tfprice(123)
    assert result2.taxless == tlprice(123)
    assert result2.taxes == []
def test_compounded_added_taxes_complex2(prices):
    (taxless_price, taxful_price) = prices

    res1 = calculate_compounded_added_taxes(taxless_price, COMPLEX_TAX_GROUPS)
    assert res1.taxless == taxless_price
    assert res1.taxful == taxful_price

    res2 = calculate_compounded_added_taxes(taxful_price, COMPLEX_TAX_GROUPS)
    assert res2.taxless == taxless_price
    assert res2.taxful == taxful_price
Exemple #5
0
def test_compounded_added_taxes_simple(price):
    taxes = [[tax('15%', rate=Decimal('0.15'))]]
    result = calculate_compounded_added_taxes(price, taxes)
    assert result.taxful == tfprice('115')
    assert result.taxless == tlprice('100')
    assert len(result.taxes) == 1
    assert result.taxes[0].tax.code == '15%'
    assert result.taxes[0].amount == money('15')
    assert result.taxes[0].base_amount == money('100')
def test_compounded_added_taxes_simple(price):
    taxes = [[tax('15%', rate=Decimal('0.15'))]]
    result = calculate_compounded_added_taxes(price, taxes)
    assert result.taxful == tfprice('115')
    assert result.taxless == tlprice('100')
    assert len(result.taxes) == 1
    assert result.taxes[0].tax.code == '15%'
    assert result.taxes[0].amount == money('15')
    assert result.taxes[0].base_amount == money('100')
Exemple #7
0
def test_compounded_added_taxes_simple_compound(price):
    taxes = [
        [tax('15%', rate=Decimal('0.15'))],
        [tax('5%', rate=Decimal('0.05'))],
        [tax('1%', rate=Decimal('0.01'))],
    ]
    result = calculate_compounded_added_taxes(price, taxes)
    assert result.taxful == tfprice('121.9575')
    assert result.taxless == tlprice('100')
    assert len(result.taxes) == 3
    assert result.taxes[0].tax.code == '15%'
    assert result.taxes[0].amount == money('15')
    assert result.taxes[0].base_amount == money('100')
    assert result.taxes[1].tax.code == '5%'
    assert result.taxes[1].amount == money('5.75')
    assert result.taxes[1].base_amount == money('115')
    assert result.taxes[2].tax.code == '1%'
    assert result.taxes[2].amount == money('1.2075')
    assert result.taxes[2].base_amount == money('120.75')
def test_compounded_added_taxes_simple_compound(price):
    taxes = [
        [tax('15%', rate=Decimal('0.15'))],
        [tax('5%', rate=Decimal('0.05'))],
        [tax('1%', rate=Decimal('0.01'))],
    ]
    result = calculate_compounded_added_taxes(price, taxes)
    assert result.taxful == tfprice('121.9575')
    assert result.taxless == tlprice('100')
    assert len(result.taxes) == 3
    assert result.taxes[0].tax.code == '15%'
    assert result.taxes[0].amount == money('15')
    assert result.taxes[0].base_amount == money('100')
    assert result.taxes[1].tax.code == '5%'
    assert result.taxes[1].amount == money('5.75')
    assert result.taxes[1].base_amount == money('115')
    assert result.taxes[2].tax.code == '1%'
    assert result.taxes[2].amount == money('1.2075')
    assert result.taxes[2].base_amount == money('120.75')
Exemple #9
0
def test_compounded_added_taxes_complex(price):
    result = calculate_compounded_added_taxes(price, COMPLEX_TAX_GROUPS)
    result_taxes = [(line_tax.tax.code, line_tax.amount, line_tax.base_amount)
                    for line_tax in result.taxes]
    expected_taxes = [
        # code, tax_amount, base_amount
        ('1A', money('50.0'), money('100')),
        ('1B', money('24.00'), money('100')),
        ('1C', money('1.11'), money('100')),
        ('1D', money('0.89'), money('100')),
        ('2A', money('17.60'), money('176.0')),
        ('2B', money('1.760'), money('176.0')),
        ('2C', money('1.25'), money('176.0')),
        ('2D', money('0.25'), money('176.0')),
        ('3A', money('0.123'), money('196.860')),
        ('4A', money('19.6983'), money('196.983')),
    ]
    assert result_taxes == expected_taxes
    assert result.taxless == tlprice('100')
    assert result.taxful == tfprice('216.6813')
Exemple #10
0
def test_compounded_added_taxes_complex(price):
    result = calculate_compounded_added_taxes(price, COMPLEX_TAX_GROUPS)
    result_taxes = [
        (line_tax.tax.code, line_tax.amount, line_tax.base_amount)
        for line_tax in result.taxes]
    expected_taxes = [
        # code, tax_amount, base_amount
        ('1A', money('50.0'), money('100')),
        ('1B', money('24.00'), money('100')),
        ('1C', money('1.11'), money('100')),
        ('1D', money('0.89'), money('100')),
        ('2A', money('17.60'), money('176.0')),
        ('2B', money('1.760'), money('176.0')),
        ('2C', money('1.25'), money('176.0')),
        ('2D', money('0.25'), money('176.0')),
        ('3A', money('0.123'), money('196.860')),
        ('4A', money('19.6983'), money('196.983')),
    ]
    assert result_taxes == expected_taxes
    assert result.taxless == tlprice('100')
    assert result.taxful == tfprice('216.6813')
Exemple #11
0
def _calculate_taxes(price, taxing_context, tax_class):
    rules = _get_enabled_tax_rules(taxing_context, tax_class)
    tax_groups = get_taxes_of_effective_rules(taxing_context, rules)
    return calculate_compounded_added_taxes(price, tax_groups)
Exemple #12
0
def _calculate_taxes(price, taxing_context, tax_class):
    rules = _get_enabled_tax_rules(taxing_context, tax_class)
    tax_groups = get_taxes_of_effective_rules(taxing_context, rules)
    return calculate_compounded_added_taxes(price, tax_groups)