This commit is contained in:
Rachid Mrad 2024-05-30 16:25:37 -04:00
parent 565cf0036b
commit 996a6944a3
No known key found for this signature in database
4 changed files with 21 additions and 23 deletions

View file

@ -31,7 +31,7 @@ class GetDomainsJsonTest(TestWithUser, WebTest):
response = self.client.get(reverse("get_domains_json")) response = self.client.get(reverse("get_domains_json"))
self.assertEqual(response.status_code, 302) self.assertEqual(response.status_code, 302)
def test_get_domains_json_authenticated(self): def test_get_domains_json_authenticated(self):
"""Test that an authenticated user gets the list of 3 domains.""" """Test that an authenticated user gets the list of 3 domains."""
response = self.app.get(reverse("get_domains_json")) response = self.app.get(reverse("get_domains_json"))
@ -65,16 +65,16 @@ class GetDomainsJsonTest(TestWithUser, WebTest):
self.assertEqual(expected_domain.name, names[i]) self.assertEqual(expected_domain.name, names[i])
self.assertEqual(expected_domain.expiration_date, expiration_dates[i]) self.assertEqual(expected_domain.expiration_date, expiration_dates[i])
self.assertEqual(expected_domain.state, states[i]) self.assertEqual(expected_domain.state, states[i])
# Parsing the expiration date from string to date # Parsing the expiration date from string to date
parsed_expiration_date = parse_date(expiration_dates[i]) parsed_expiration_date = parse_date(expiration_dates[i])
expected_domain.expiration_date = parsed_expiration_date expected_domain.expiration_date = parsed_expiration_date
# Check state_display and get_state_help_text # Check state_display and get_state_help_text
self.assertEqual(expected_domain.state_display(), state_displays[i]) self.assertEqual(expected_domain.state_display(), state_displays[i])
self.assertEqual(expected_domain.get_state_help_text(), get_state_help_texts[i]) self.assertEqual(expected_domain.get_state_help_text(), get_state_help_texts[i])
self.assertEqual(f'/domain/{expected_domain.id}', action_urls[i]) self.assertEqual(f"/domain/{expected_domain.id}", action_urls[i])
def test_pagination(self): def test_pagination(self):
"""Test that pagination is correct in the response""" """Test that pagination is correct in the response"""

View file

@ -2,7 +2,6 @@ from registrar.models import DomainRequest
from django.urls import reverse from django.urls import reverse
from .test_views import TestWithUser from .test_views import TestWithUser
from django_webtest import WebTest # type: ignore from django_webtest import WebTest # type: ignore
from datetime import datetime
from django.utils.dateparse import parse_datetime from django.utils.dateparse import parse_datetime
@ -136,20 +135,24 @@ class DomainRequestViewTest(TestWithUser, WebTest):
# Check fields for each domain request # Check fields for each domain request
for i in range(10): for i in range(10):
self.assertNotEqual(data["domain_requests"][i]["status"], "Approved") 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].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].submission_date, submission_dates[i])
self.assertEqual(self.domain_requests[i].get_status_display(), statuses[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(
parse_datetime(self.domain_requests[i].created_at.isoformat()), parse_datetime(created_ats[i])
)
self.assertEqual(self.domain_requests[i].id, ids[i]) self.assertEqual(self.domain_requests[i].id, ids[i])
# Check is_deletable # Check is_deletable
is_deletable_expected = self.domain_requests[i].status in [ is_deletable_expected = self.domain_requests[i].status in [
DomainRequest.DomainRequestStatus.STARTED, DomainRequest.DomainRequestStatus.STARTED,
DomainRequest.DomainRequestStatus.WITHDRAWN DomainRequest.DomainRequestStatus.WITHDRAWN,
] ]
self.assertEqual(is_deletable_expected, is_deletables[i]) self.assertEqual(is_deletable_expected, is_deletables[i])
def test_pagination(self): def test_pagination(self):
"""Test that pagination works properly. There are 11 total non-approved requests and """Test that pagination works properly. There are 11 total non-approved requests and
a page size of 10""" a page size of 10"""

View file

@ -2,7 +2,6 @@ from django.http import JsonResponse
from django.core.paginator import Paginator from django.core.paginator import Paginator
from registrar.models import DomainRequest from registrar.models import DomainRequest
from django.utils.dateformat import format from django.utils.dateformat import format
from django.utils.dateparse import parse_datetime
def get_domain_requests_json(request): def get_domain_requests_json(request):
@ -30,24 +29,20 @@ def get_domain_requests_json(request):
"requested_domain": domain_request.requested_domain.name if domain_request.requested_domain else None, "requested_domain": domain_request.requested_domain.name if domain_request.requested_domain else None,
"submission_date": domain_request.submission_date, "submission_date": domain_request.submission_date,
"status": domain_request.get_status_display(), "status": domain_request.get_status_display(),
"created_at": format(domain_request.created_at, 'c'), # Serialize to ISO 8601 "created_at": format(domain_request.created_at, "c"), # Serialize to ISO 8601
"id": domain_request.id, "id": domain_request.id,
"is_deletable": domain_request.status "is_deletable": domain_request.status
in [DomainRequest.DomainRequestStatus.STARTED, DomainRequest.DomainRequestStatus.WITHDRAWN], in [DomainRequest.DomainRequestStatus.STARTED, DomainRequest.DomainRequestStatus.WITHDRAWN],
"action_url": ( "action_url": (
f"/domain-request/{domain_request.id}/edit" f"/domain-request/{domain_request.id}/edit"
if domain_request.status in [ if domain_request.status
DomainRequest.DomainRequestStatus.STARTED, in [DomainRequest.DomainRequestStatus.STARTED, DomainRequest.DomainRequestStatus.WITHDRAWN]
DomainRequest.DomainRequestStatus.WITHDRAWN
]
else f"/domain-request/{domain_request.id}" else f"/domain-request/{domain_request.id}"
), ),
"action_label": ( "action_label": (
"Edit" "Edit"
if domain_request.status in [ if domain_request.status
DomainRequest.DomainRequestStatus.STARTED, in [DomainRequest.DomainRequestStatus.STARTED, DomainRequest.DomainRequestStatus.WITHDRAWN]
DomainRequest.DomainRequestStatus.WITHDRAWN
]
else "Manage" else "Manage"
), ),
} }

View file

@ -41,7 +41,7 @@ def get_domains_json(request):
"state": domain.state, "state": domain.state,
"state_display": domain.state_display(), "state_display": domain.state_display(),
"get_state_help_text": domain.get_state_help_text(), "get_state_help_text": domain.get_state_help_text(),
"action_url": f"/domain/{domain.id}", "action_url": f"/domain/{domain.id}",
} }
for domain in page_obj.object_list for domain in page_obj.object_list
] ]