Finish tests for custom payment details

This commit is contained in:
Mark Veidemanis 2023-03-16 20:49:57 +00:00
parent 4d4406643f
commit 6e6b23da63
Signed by: m
GPG Key ID: 5ACFCEED46C0904F
3 changed files with 46 additions and 12 deletions

View File

@ -19,7 +19,6 @@ class AggregatorClient(ABC):
# #if account["account_id"] in self.banks # #if account["account_id"] in self.banks
# } # }
# For each bank # For each bank
print("ACCOUNT INFOS", account_infos)
for bank, accounts in account_infos.items(): for bank, accounts in account_infos.items():
# Iterate the accounts # Iterate the accounts
for index, account in enumerate(list(accounts)): for index, account in enumerate(list(accounts)):
@ -51,8 +50,6 @@ class AggregatorClient(ABC):
self.instance.currencies = currencies self.instance.currencies = currencies
self.instance.save() self.instance.save()
print("INSTANCE ACCOUNT INFO", self.instance.account_info)
async def process_transactions(self, account_id, transactions): async def process_transactions(self, account_id, transactions):
if not transactions: if not transactions:
return False return False

View File

@ -158,7 +158,6 @@ class NordigenClient(BaseClient, AggregatorClient):
else: else:
requisitions = [await self.get_requisition(requisition)] requisitions = [await self.get_requisition(requisition)]
print("REQS", requisitions)
for req in requisitions: for req in requisitions:
accounts = req["accounts"] accounts = req["accounts"]
for account_id in accounts: for account_id in accounts:

View File

@ -1,14 +1,15 @@
from django.test import TransactionTestCase from django.test import TransactionTestCase
from core.clients.platforms.agora import AgoraClient from core.clients.platform import LocalPlatformClient
from core.models import Ad, Asset, Provider from core.models import Ad, Asset, Provider, Requisition
from core.tests.helpers import AggregatorPlatformMixin from core.tests.helpers import AggregatorPlatformMixin
class TestPlatform(AggregatorPlatformMixin, TransactionTestCase): class TestPlatform(AggregatorPlatformMixin, TransactionTestCase):
def setUp(self): def setUp(self):
super().setUp() super().setUp()
self.plat_client = LocalPlatformClient()
self.plat_client.instance = self.platform
self.aggregator.account_info = { self.aggregator.account_info = {
"MONZO_MONZGB2L": [ "MONZO_MONZGB2L": [
{ {
@ -49,10 +50,18 @@ class TestPlatform(AggregatorPlatformMixin, TransactionTestCase):
}, },
] ]
} }
self.aggregator.currencies = ["GBP"]
self.aggregator.save() self.aggregator.save()
self.plat_client = AgoraClient(self.platform) self.expected_account_first = {
"sort_code": "04-00-04",
"number": "00000001",
"bank": "MONZO",
"recipient": "John Snow Smith",
"aggregator_id": str(self.aggregator.id),
"requisition_id": "3ba3e65d-f44c-4c4e-9e28-08cc080830f6",
}
asset = Asset.objects.create( asset = Asset.objects.create(
code="XMR", code="XMR",
@ -72,21 +81,44 @@ class TestPlatform(AggregatorPlatformMixin, TransactionTestCase):
payment_details_real="Payment details real", payment_details_real="Payment details real",
payment_method_details="Payment method details", payment_method_details="Payment method details",
dist_list="", dist_list="",
asset_list=[asset], # asset_list=asset,
provider_list=[provider], # provider_list=provider,
platforms=[self.platform], # platforms=self.platform,
aggregators=[self.aggregator], # aggregators=self.aggregator,
send_reference=True, send_reference=True,
visible=True, visible=True,
enabled=True, enabled=True,
# commit=False,
)
self.ad.asset_list.set([asset])
self.ad.provider_list.set([provider])
self.ad.platforms.set([self.platform])
self.ad.aggregators.set([self.aggregator])
self.ad.save()
self.req = Requisition.objects.create(
user=self.user,
aggregator=self.aggregator,
requisition_id="3ba3e65d-f44c-4c4e-9e28-08cc080830f6",
payment_details="CUSTOM PAYMENT",
) )
def test_get_valid_account_details(self): def test_get_valid_account_details(self):
result = self.plat_client.get_valid_account_details(self.ad) result = self.plat_client.get_valid_account_details(self.ad)
expected = (
["GBP"],
{"GBP": self.expected_account_first},
)
self.assertEqual(result, expected)
def test_get_matching_account_details(self): def test_get_matching_account_details(self):
result = self.plat_client.get_matching_account_details("GBP", self.ad) result = self.plat_client.get_matching_account_details("GBP", self.ad)
self.assertEqual(result, self.expected_account_first)
def test_format_payment_details(self): def test_format_payment_details(self):
account_info = self.plat_client.get_matching_account_details("GBP", self.ad) account_info = self.plat_client.get_matching_account_details("GBP", self.ad)
result = self.plat_client.format_payment_details( result = self.plat_client.format_payment_details(
@ -96,6 +128,9 @@ class TestPlatform(AggregatorPlatformMixin, TransactionTestCase):
real=False, real=False,
) )
expected = "Payment details"
self.assertEqual(result, expected)
def test_format_payment_details_real(self): def test_format_payment_details_real(self):
account_info = self.plat_client.get_matching_account_details("GBP", self.ad) account_info = self.plat_client.get_matching_account_details("GBP", self.ad)
result = self.plat_client.format_payment_details( result = self.plat_client.format_payment_details(
@ -104,3 +139,6 @@ class TestPlatform(AggregatorPlatformMixin, TransactionTestCase):
self.ad, self.ad,
real=True, real=True,
) )
expected = "CUSTOM PAYMENT"
self.assertEqual(result, expected)