chore: rename model

This commit is contained in:
2024-03-24 20:41:33 +01:00
parent 3742037d68
commit 05ece2c074
8 changed files with 90 additions and 96 deletions
+25 -25
View File
@@ -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