Ejemplo n.º 1
0
def test_create_payment(settings):
    data = {'gateway': settings.DUMMY}
    payment = create_payment(**data)
    assert payment.gateway == settings.DUMMY

    same_payment = create_payment(**data)
    assert payment == same_payment
def test_create_payment(checkout_with_item, address):
    checkout_with_item.billing_address = address
    checkout_with_item.save()

    data = {
        "gateway":
        "Dummy",
        "payment_token":
        "token",
        "total":
        checkout_total(checkout=checkout_with_item,
                       lines=list(checkout_with_item)).gross.amount,
        "currency":
        checkout_with_item.currency,
        "email":
        "*****@*****.**",
        "customer_ip_address":
        "127.0.0.1",
        "checkout":
        checkout_with_item,
    }
    payment = create_payment(**data)
    assert payment.gateway == "Dummy"

    same_payment = create_payment(**data)
    assert payment == same_payment
Ejemplo n.º 3
0
def test_create_payment_requires_order_or_checkout(settings):
    data = {
        "gateway": "Dummy",
        "payment_token": "token",
        "total": 10,
        "currency": settings.DEFAULT_CURRENCY,
        "email": "*****@*****.**",
    }
    with pytest.raises(TypeError) as e:
        create_payment(**data)
    assert e.value.args[0] == "Must provide checkout or order to create a payment."
Ejemplo n.º 4
0
def test_create_payment(address, settings):
    data = {
        'gateway': settings.DUMMY,
        'payment_token': 'token',
        'total': 10,
        'currency': settings.DEFAULT_CURRENCY,
        'email': '*****@*****.**',
        'billing_address': address,
        'customer_ip_address': '127.0.0.1'}
    payment = create_payment(**data)
    assert payment.gateway == settings.DUMMY

    same_payment = create_payment(**data)
    assert payment == same_payment
Ejemplo n.º 5
0
def test_create_payment(address, settings):
    data = {
        'gateway': settings.DUMMY,
        'payment_token': 'token',
        'total': 10,
        'currency': settings.DEFAULT_CURRENCY,
        'email': '*****@*****.**',
        'billing_address': address,
        'customer_ip_address': '127.0.0.1'}
    payment = create_payment(**data)
    assert payment.gateway == settings.DUMMY

    same_payment = create_payment(**data)
    assert payment == same_payment
Ejemplo n.º 6
0
def test_create_payment(address, settings):
    data = {
        "gateway": settings.DUMMY,
        "payment_token": "token",
        "total": 10,
        "currency": settings.DEFAULT_CURRENCY,
        "email": "*****@*****.**",
        "billing_address": address,
        "customer_ip_address": "127.0.0.1",
    }
    payment = create_payment(**data)
    assert payment.gateway == settings.DUMMY

    same_payment = create_payment(**data)
    assert payment == same_payment
def test_create_payment_from_order_requires_billing_address(draft_order):
    draft_order.billing_address = None
    draft_order.save()

    data = {
        "gateway": "Dummy",
        "payment_token": "token",
        "total": draft_order.total.gross.amount,
        "currency": draft_order.currency,
        "email": "*****@*****.**",
        "order": draft_order,
    }
    with pytest.raises(PaymentError) as e:
        create_payment(**data)
    assert e.value.code == PaymentErrorCode.BILLING_ADDRESS_NOT_SET.value
Ejemplo n.º 8
0
def test_create_payment(address, settings):
    data = {
        "gateway": settings.DUMMY,
        "payment_token": "token",
        "total": 10,
        "currency": settings.DEFAULT_CURRENCY,
        "email": "*****@*****.**",
        "billing_address": address,
        "customer_ip_address": "127.0.0.1",
    }
    payment = create_payment(**data)
    assert payment.gateway == settings.DUMMY

    same_payment = create_payment(**data)
    assert payment == same_payment
def test_create_payment_information_for_checkout_payment(
        address, checkout_with_item):
    checkout_with_item.billing_address = address
    checkout_with_item.shipping_address = address
    checkout_with_item.save()
    data = {
        "gateway":
        "Dummy",
        "payment_token":
        "token",
        "total":
        checkout_total(checkout=checkout_with_item,
                       lines=list(checkout_with_item)).gross.amount,
        "currency":
        checkout_with_item.currency,
        "email":
        "*****@*****.**",
        "customer_ip_address":
        "127.0.0.1",
        "checkout":
        checkout_with_item,
    }

    payment = create_payment(**data)
    payment_data = create_payment_information(payment, "token", payment.total)

    billing = payment_data.billing
    shipping = payment_data.shipping
    assert billing
    assert billing.first_name == address.first_name
    assert billing.last_name == address.last_name
    assert billing.street_address_1 == address.street_address_1
    assert billing.city == address.city
    assert shipping == billing
Ejemplo n.º 10
0
def test_create_payment_from_checkout_requires_billing_address(
    checkout_with_item, settings
):
    checkout_with_item.billing_address = None
    checkout_with_item.save()

    data = {
        "gateway": "Dummy",
        "payment_token": "token",
        "total": checkout_total(checkout_with_item),
        "currency": checkout_with_item.currency,
        "email": "*****@*****.**",
        "checkout": checkout_with_item,
    }
    with pytest.raises(PaymentError) as e:
        create_payment(**data)
    assert e.value.code == PaymentErrorCode.BILLING_ADDRESS_NOT_SET.value
def test_create_payment_information_for_draft_order(draft_order):
    data = {
        "gateway": "Dummy",
        "payment_token": "token",
        "total": draft_order.total.gross.amount,
        "currency": draft_order.currency,
        "email": "*****@*****.**",
        "customer_ip_address": "127.0.0.1",
        "order": draft_order,
    }

    payment = create_payment(**data)
    payment_data = create_payment_information(payment, "token", payment.total)

    billing = payment_data.billing
    shipping = payment_data.shipping
    assert billing
    assert billing.first_name == draft_order.billing_address.first_name
    assert billing.last_name == draft_order.billing_address.last_name
    assert billing.street_address_1 == draft_order.billing_address.street_address_1
    assert billing.city == draft_order.billing_address.city
    assert shipping == billing