2023-11-18 12:48:57 +00:00
|
|
|
from decouple import config
|
|
|
|
from django.contrib.auth.models import User
|
|
|
|
from django.test import Client
|
|
|
|
from django.urls import reverse
|
|
|
|
|
|
|
|
from api.tasks import cache_market
|
|
|
|
from tests.test_api import BaseAPITestCase
|
|
|
|
|
|
|
|
|
2023-11-18 16:06:22 +00:00
|
|
|
class APILimitsTest(BaseAPITestCase):
|
2023-11-18 12:48:57 +00:00
|
|
|
su_pass = "12345678"
|
|
|
|
su_name = config("ESCROW_USERNAME", cast=str, default="admin")
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
"""
|
|
|
|
Create a superuser. The superuser is the escrow party.
|
|
|
|
"""
|
|
|
|
self.client = Client()
|
|
|
|
User.objects.create_superuser(self.su_name, "super@user.com", self.su_pass)
|
|
|
|
|
|
|
|
# Fetch currency prices from external APIs
|
|
|
|
cache_market()
|
|
|
|
|
|
|
|
def test_limits(self):
|
|
|
|
path = reverse("limits")
|
|
|
|
|
|
|
|
response = self.client.get(path)
|
|
|
|
data = response.json()
|
|
|
|
|
|
|
|
self.assertEqual(response.status_code, 200)
|
|
|
|
# self.assertResponse(response) # Expects an array
|
|
|
|
|
|
|
|
self.assertEqual(data["1"]["code"], "USD")
|
|
|
|
self.assertIsInstance(data["1"]["price"], float)
|
|
|
|
self.assertIsInstance(data["4"]["min_amount"], float)
|
|
|
|
self.assertIsInstance(data["10"]["max_amount"], float)
|
|
|
|
self.assertEqual(data["1000"]["price"], 1)
|