mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-25 02:24:07 +02:00
Solidify json unit tests
This commit is contained in:
parent
db985cb3d7
commit
f8c14ea36a
6 changed files with 107 additions and 20 deletions
|
@ -2,6 +2,8 @@ from registrar.models import DomainRequest
|
|||
from django.urls import reverse
|
||||
from .test_views import TestWithUser
|
||||
from django_webtest import WebTest # type: ignore
|
||||
from datetime import datetime
|
||||
from django.utils.dateparse import parse_datetime
|
||||
|
||||
|
||||
class DomainRequestViewTest(TestWithUser, WebTest):
|
||||
|
@ -88,6 +90,13 @@ class DomainRequestViewTest(TestWithUser, WebTest):
|
|||
status=DomainRequest.DomainRequestStatus.REJECTED,
|
||||
created_at="2024-11-01",
|
||||
),
|
||||
DomainRequest.objects.create(
|
||||
creator=self.user,
|
||||
requested_domain=None,
|
||||
submission_date="2024-11-02",
|
||||
status=DomainRequest.DomainRequestStatus.WITHDRAWN,
|
||||
created_at="2024-11-02",
|
||||
),
|
||||
DomainRequest.objects.create(
|
||||
creator=self.user,
|
||||
requested_domain=None,
|
||||
|
@ -97,8 +106,12 @@ class DomainRequestViewTest(TestWithUser, WebTest):
|
|||
),
|
||||
]
|
||||
|
||||
def tearDown(self):
|
||||
super().tearDown()
|
||||
DomainRequest.objects.all().delete()
|
||||
|
||||
def test_get_domain_requests_json_authenticated(self):
|
||||
"""test that domain requests are returned properly for an authenticated user"""
|
||||
"""Test that domain requests are returned properly for an authenticated user."""
|
||||
response = self.app.get(reverse("get_domain_requests_json"))
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json
|
||||
|
@ -109,10 +122,33 @@ class DomainRequestViewTest(TestWithUser, WebTest):
|
|||
self.assertFalse(data["has_previous"])
|
||||
self.assertEqual(data["num_pages"], 2)
|
||||
|
||||
# Check domain requests
|
||||
# Check the number of domain requests
|
||||
self.assertEqual(len(data["domain_requests"]), 10)
|
||||
for domain_request in data["domain_requests"]:
|
||||
self.assertNotEqual(domain_request["status"], "Approved")
|
||||
|
||||
# Extract fields from response
|
||||
requested_domains = [request["requested_domain"] for request in data["domain_requests"]]
|
||||
submission_dates = [request["submission_date"] for request in data["domain_requests"]]
|
||||
statuses = [request["status"] for request in data["domain_requests"]]
|
||||
created_ats = [request["created_at"] for request in data["domain_requests"]]
|
||||
ids = [request["id"] for request in data["domain_requests"]]
|
||||
is_deletables = [request["is_deletable"] for request in data["domain_requests"]]
|
||||
|
||||
# Check fields for each domain request
|
||||
for i in range(10):
|
||||
self.assertNotEqual(data["domain_requests"][i]["status"], "Approved")
|
||||
self.assertEqual(self.domain_requests[i].requested_domain.name if self.domain_requests[i].requested_domain else None, requested_domains[i])
|
||||
self.assertEqual(self.domain_requests[i].submission_date, submission_dates[i])
|
||||
self.assertEqual(self.domain_requests[i].get_status_display(), statuses[i])
|
||||
self.assertEqual(parse_datetime(self.domain_requests[i].created_at.isoformat()), parse_datetime(created_ats[i]))
|
||||
self.assertEqual(self.domain_requests[i].id, ids[i])
|
||||
|
||||
# Check is_deletable
|
||||
is_deletable_expected = self.domain_requests[i].status in [
|
||||
DomainRequest.DomainRequestStatus.STARTED,
|
||||
DomainRequest.DomainRequestStatus.WITHDRAWN
|
||||
]
|
||||
self.assertEqual(is_deletable_expected, is_deletables[i])
|
||||
|
||||
|
||||
def test_pagination(self):
|
||||
"""Test that pagination works properly. There are 11 total non-approved requests and
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue