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
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."
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(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(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
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
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