chore: rename model
This commit is contained in:
+25
-25
@@ -6,7 +6,7 @@ from rest_framework import status
|
||||
from rest_framework.test import APITestCase
|
||||
from django.conf import settings
|
||||
|
||||
from tpv.models import PaymentTPV
|
||||
from tpv.models import PaymentTransaction
|
||||
from tpv.redsys import RedsysClient
|
||||
from tpv.settings import ERROR_CODES
|
||||
|
||||
@@ -14,7 +14,7 @@ from tpv.settings import ERROR_CODES
|
||||
class TestRedsysTPV(APITestCase):
|
||||
def test_redsys_client(self):
|
||||
amount_to_pay = Decimal("10.00")
|
||||
order = PaymentTPV.objects.create(amount=amount_to_pay)
|
||||
transaction = PaymentTransaction.objects.create(amount=amount_to_pay)
|
||||
|
||||
items = [
|
||||
{
|
||||
@@ -26,13 +26,13 @@ class TestRedsysTPV(APITestCase):
|
||||
}
|
||||
]
|
||||
|
||||
order.metadata["items"] = items
|
||||
order.save()
|
||||
transaction.metadata["items"] = items
|
||||
transaction.save()
|
||||
|
||||
client = RedsysClient()
|
||||
merchant_parameters = client.get_merchant_parameters_for_order(order)
|
||||
merchant_parameters = client.get_merchant_parameters_for_transaction(transaction)
|
||||
|
||||
assert merchant_parameters.get("DS_MERCHANT_ORDER") == order.hash.hex
|
||||
assert merchant_parameters.get("DS_MERCHANT_ORDER") == transaction.hash.hex
|
||||
assert merchant_parameters.get("DS_MERCHANT_AMOUNT") == str(
|
||||
int(amount_to_pay) * 100
|
||||
)
|
||||
@@ -44,11 +44,11 @@ class TestRedsysTPV(APITestCase):
|
||||
== settings.REDSYS_MERCHANT_CODE
|
||||
)
|
||||
|
||||
client.get_body_for_order(order)
|
||||
client.get_body_for_transaction(transaction)
|
||||
|
||||
def test_redsys_webhook(self):
|
||||
amount_to_pay = Decimal("10.00")
|
||||
order = PaymentTPV.objects.create(amount=amount_to_pay)
|
||||
transaction = PaymentTransaction.objects.create(amount=amount_to_pay)
|
||||
|
||||
items = [
|
||||
{
|
||||
@@ -59,19 +59,19 @@ class TestRedsysTPV(APITestCase):
|
||||
"amount_to_pay": str(amount_to_pay),
|
||||
}
|
||||
]
|
||||
order.metadata["items"] = items
|
||||
order.save()
|
||||
transaction.metadata["items"] = items
|
||||
transaction.save()
|
||||
|
||||
response = self.client.get(
|
||||
reverse("tpv:order_created", kwargs={"order": order.hash})
|
||||
reverse("tpv:order_created", kwargs={"transaction": transaction.hash})
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
redsys_response_data = {
|
||||
"Ds_MerchantCode": "999008881",
|
||||
"Ds_Terminal": "001",
|
||||
"Ds_Order": order.hash.hex,
|
||||
"Ds_Amount": str(order.amount_integer),
|
||||
"Ds_Order": transaction.hash.hex,
|
||||
"Ds_Amount": str(transaction.amount_integer),
|
||||
"Ds_Currency": "978",
|
||||
"Ds_Date": "01/01/2024",
|
||||
"Ds_Hour": "00:00",
|
||||
@@ -94,7 +94,7 @@ class TestRedsysTPV(APITestCase):
|
||||
).decode()
|
||||
|
||||
response = self.client.post(
|
||||
reverse("tpv:webhook", kwargs={"order": order.hash}),
|
||||
reverse("tpv:webhook", kwargs={"transaction": transaction.hash}),
|
||||
data={
|
||||
"Ds_MerchantParameters": b64_merchant_params,
|
||||
"Ds_Signature": settings.REDSYS_SHARED_SECRET,
|
||||
@@ -105,13 +105,13 @@ class TestRedsysTPV(APITestCase):
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
response = self.client.get(
|
||||
reverse("tpv:ok", kwargs={"order": order.hash})
|
||||
reverse("tpv:ok", kwargs={"transaction": transaction.hash})
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
def test_redsys_webhook_payment_error(self):
|
||||
amount_to_pay = Decimal("10.00")
|
||||
order = PaymentTPV.objects.create(amount=amount_to_pay)
|
||||
transaction = PaymentTransaction.objects.create(amount=amount_to_pay)
|
||||
|
||||
items = [
|
||||
{
|
||||
@@ -123,19 +123,19 @@ class TestRedsysTPV(APITestCase):
|
||||
}
|
||||
]
|
||||
|
||||
order.metadata["items"] = items
|
||||
transaction.metadata["items"] = items
|
||||
|
||||
order.save()
|
||||
transaction.save()
|
||||
|
||||
response = self.client.get(
|
||||
reverse("tpv:order_created", kwargs={"order": order.hash})
|
||||
reverse("tpv:order_created", kwargs={"transaction": transaction.hash})
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
redsys_response_data = {
|
||||
"Ds_MerchantCode": "999008881",
|
||||
"Ds_Terminal": "001",
|
||||
"Ds_Order": order.hash.hex,
|
||||
"Ds_Order": transaction.hash.hex,
|
||||
"Ds_Amount": "1000",
|
||||
"Ds_Currency": "978",
|
||||
"Ds_Date": "01/01/2024",
|
||||
@@ -160,7 +160,7 @@ class TestRedsysTPV(APITestCase):
|
||||
).decode()
|
||||
|
||||
response = self.client.post(
|
||||
reverse("tpv:webhook", kwargs={"order": order.hash}),
|
||||
reverse("tpv:webhook", kwargs={"transaction": transaction.hash}),
|
||||
data={
|
||||
"Ds_MerchantParameters": b64_merchant_params,
|
||||
"Ds_Signature": settings.REDSYS_SHARED_SECRET,
|
||||
@@ -169,11 +169,11 @@ class TestRedsysTPV(APITestCase):
|
||||
)
|
||||
|
||||
assert response.status_code == status.HTTP_409_CONFLICT
|
||||
order.refresh_from_db()
|
||||
assert str(ERROR_CODES.get("0184")) in order.observations
|
||||
assert order.status == PaymentTPV.StatusChoices.ERROR
|
||||
transaction.refresh_from_db()
|
||||
assert str(ERROR_CODES.get("0184")) in transaction.observations
|
||||
assert transaction.status == PaymentTransaction.StatusChoices.ERROR
|
||||
|
||||
response = self.client.get(
|
||||
reverse("tpv:ko", kwargs={"order": order.hash})
|
||||
reverse("tpv:ko", kwargs={"transaction": transaction.hash})
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
Reference in New Issue
Block a user