コード例 #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
コード例 #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 == []
コード例 #3
0
ファイル: test_taxing_utils.py プロジェクト: cuberskulk/shoop
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 == []
コード例 #4
0
ファイル: test_taxing_utils.py プロジェクト: cuberskulk/shoop
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
コード例 #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')
コード例 #6
0
ファイル: test_taxing_utils.py プロジェクト: cuberskulk/shoop
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')
コード例 #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')
コード例 #8
0
ファイル: test_taxing_utils.py プロジェクト: cuberskulk/shoop
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')
コード例 #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')
コード例 #10
0
ファイル: test_taxing_utils.py プロジェクト: cuberskulk/shoop
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')
コード例 #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)
コード例 #12
0
ファイル: module.py プロジェクト: menchester5/shoop
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)