Exemplo n.º 1
0
def get_order_payloads(order):
    items = [
        ga.item(
            ol.product_name, ol.unit_price.gross, quantity=ol.quantity,
            item_id=ol.product_sku)
        for ol in order]
    return ga.transaction(
        order.id, items, revenue=order.total.gross, tax=order.total.tax,
        shipping=order.shipping_price.net)
def test_required_params(single_item_list):
    generator = transaction('trans-01', single_item_list, Money(10, 'USD'))
    assert list(generator) == [
        {
            't': 'transaction', 'ti': 'trans-01', 'cu': 'USD', 'tr': '10',
            'tt': '0'},
        {
            't': 'item', 'in': 'item-01', 'ip': '10', 'cu': 'USD',
            'ti': 'trans-01'}]
def test_affiliation(single_item_list):
    generator = transaction(
        'trans-01', single_item_list, Money(10, 'USD'), affiliation='loyalty')
    assert list(generator) == [
        {
            't': 'transaction', 'ti': 'trans-01', 'tr': '10', 'tt': '0',
            'cu': 'USD', 'ta': 'loyalty'},
        {
            't': 'item', 'in': 'item-01', 'ip': '10', 'cu': 'USD',
            'ti': 'trans-01'}]
def test_tax(single_item_list):
    generator = transaction(
        'trans-01', single_item_list, Money(10, 'USD'), tax=Money(2, 'USD'))
    assert list(generator) == [
        {
            't': 'transaction', 'ti': 'trans-01', 'cu': 'USD', 'tr': '10',
            'tt': '2'},
        {
            't': 'item', 'in': 'item-01', 'ip': '10', 'cu': 'USD',
            'ti': 'trans-01'}]
def test_shipping(single_item_list):
    generator = transaction(
        'trans-01', single_item_list, Money(10, 'USD'),
        shipping=Money(100, currency='USD'))
    assert list(generator) == [
        {
            't': 'transaction', 'ti': 'trans-01', 'cu': 'USD', 'tr': '10',
            'ts': '100', 'tt': '0'},
        {
            't': 'item', 'in': 'item-01', 'ip': '10', 'cu': 'USD',
            'ti': 'trans-01'}]
Exemplo n.º 6
0
def get_task_payloads(task):
    items = [
        ga.item(ol.skill_name,
                ol.unit_price.gross,
                quantity=ol.quantity,
                item_id=ol.skill_sku) for ol in task
    ]
    return ga.transaction(task.id,
                          items,
                          revenue=task.total.gross,
                          tax=task.total.tax,
                          delivery=task.delivery_price.net)
Exemplo n.º 7
0
def test_required_params(single_item_list):
    generator = transaction('trans-01', single_item_list, Money(10, 'USD'))
    assert list(generator) == [{
        't': 'transaction',
        'ti': 'trans-01',
        'cu': 'USD',
        'tr': '10',
        'tt': '0'
    }, {
        't': 'item',
        'in': 'item-01',
        'ip': '10',
        'cu': 'USD',
        'ti': 'trans-01'
    }]
Exemplo n.º 8
0
def get_order_payloads(order):
    items = [
        ga.item(
            str(order_line),
            order_line.unit_price.gross,
            quantity=order_line.quantity,
            item_id=order_line.product_sku,
        ) for order_line in order
    ]
    return ga.transaction(
        order.id,
        items,
        revenue=order.total.gross,
        tax=order.total.tax,
        shipping=order.shipping_price.net,
    )
Exemplo n.º 9
0
def test_tax(single_item_list):
    generator = transaction('trans-01',
                            single_item_list,
                            Money(10, 'USD'),
                            tax=Money(2, 'USD'))
    assert list(generator) == [{
        't': 'transaction',
        'ti': 'trans-01',
        'cu': 'USD',
        'tr': '10',
        'tt': '2'
    }, {
        't': 'item',
        'in': 'item-01',
        'ip': '10',
        'cu': 'USD',
        'ti': 'trans-01'
    }]
Exemplo n.º 10
0
def test_affiliation(single_item_list):
    generator = transaction('trans-01',
                            single_item_list,
                            Money(10, 'USD'),
                            affiliation='loyalty')
    assert list(generator) == [{
        't': 'transaction',
        'ti': 'trans-01',
        'tr': '10',
        'tt': '0',
        'cu': 'USD',
        'ta': 'loyalty'
    }, {
        't': 'item',
        'in': 'item-01',
        'ip': '10',
        'cu': 'USD',
        'ti': 'trans-01'
    }]
Exemplo n.º 11
0
def test_shipping(single_item_list):
    generator = transaction('trans-01',
                            single_item_list,
                            Money(10, 'USD'),
                            shipping=Money(100, currency='USD'))
    assert list(generator) == [{
        't': 'transaction',
        'ti': 'trans-01',
        'cu': 'USD',
        'tr': '10',
        'ts': '100',
        'tt': '0'
    }, {
        't': 'item',
        'in': 'item-01',
        'ip': '10',
        'cu': 'USD',
        'ti': 'trans-01'
    }]
def test_no_items():
    generator = transaction('trans-01', [], Money(0, 'USD'))
    with pytest.raises(ValueError):
        list(generator)
Exemplo n.º 13
0
def test_no_items():
    generator = transaction('trans-01', [], Money(0, 'USD'))
    with pytest.raises(ValueError):
        list(generator)