mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-14 15:05:14 +02:00
Account for not state unknown when displaying expiration date
This commit is contained in:
parent
c21c417b0e
commit
678ca6d95c
3 changed files with 62 additions and 12 deletions
|
@ -17,9 +17,10 @@
|
||||||
<span class="text-bold text-primary-darker">
|
<span class="text-bold text-primary-darker">
|
||||||
Status:
|
Status:
|
||||||
</span>
|
</span>
|
||||||
{% if domain.is_expired %}
|
{# UNKNOWN domains would not have an expiration date and thus would show 'Expired' #}
|
||||||
|
{% if domain.is_expired and domain.state != domain.State.UNKNOWN %}
|
||||||
Expired
|
Expired
|
||||||
{% elif domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED%}
|
{% elif domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED %}
|
||||||
DNS needed
|
DNS needed
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ domain.state|title }}
|
{{ domain.state|title }}
|
||||||
|
|
|
@ -53,9 +53,9 @@
|
||||||
<td data-sort-value="{{ domain.expiration_date|date:"U" }}" data-label="Expires">{{ domain.expiration_date|date }}</td>
|
<td data-sort-value="{{ domain.expiration_date|date:"U" }}" data-label="Expires">{{ domain.expiration_date|date }}</td>
|
||||||
<td data-label="Status">
|
<td data-label="Status">
|
||||||
{# UNKNOWN domains would not have an expiration date and thus would show 'Expired' #}
|
{# UNKNOWN domains would not have an expiration date and thus would show 'Expired' #}
|
||||||
{% if domain.is_expired and domain.state != "unknown" %}
|
{% if domain.is_expired and domain.state != domain.State.UNKNOWN %}
|
||||||
Expired
|
Expired
|
||||||
{% elif domain.state == "unknown" or domain.state == "dns needed"%}
|
{% elif domain.state == domain.State.UNKNOWN or domain.state == domain.State.DNS_NEEDED %}
|
||||||
DNS needed
|
DNS needed
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ domain.state|title }}
|
{{ domain.state|title }}
|
||||||
|
|
|
@ -35,6 +35,8 @@ from registrar.models import (
|
||||||
User,
|
User,
|
||||||
)
|
)
|
||||||
from registrar.views.application import ApplicationWizard, Step
|
from registrar.views.application import ApplicationWizard, Step
|
||||||
|
from datetime import date, datetime, timedelta
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
from .common import less_console_noise
|
from .common import less_console_noise
|
||||||
|
|
||||||
|
@ -1352,8 +1354,20 @@ class TestWithDomainPermissions(TestWithUser):
|
||||||
self.domain_with_ip, _ = Domain.objects.get_or_create(name="nameserverwithip.gov")
|
self.domain_with_ip, _ = Domain.objects.get_or_create(name="nameserverwithip.gov")
|
||||||
self.domain_just_nameserver, _ = Domain.objects.get_or_create(name="justnameserver.com")
|
self.domain_just_nameserver, _ = Domain.objects.get_or_create(name="justnameserver.com")
|
||||||
self.domain_no_information, _ = Domain.objects.get_or_create(name="noinformation.gov")
|
self.domain_no_information, _ = Domain.objects.get_or_create(name="noinformation.gov")
|
||||||
self.domain_on_hold, _ = Domain.objects.get_or_create(name="on-hold.gov", state=Domain.State.ON_HOLD)
|
self.domain_on_hold, _ = Domain.objects.get_or_create(
|
||||||
self.domain_deleted, _ = Domain.objects.get_or_create(name="deleted.gov", state=Domain.State.DELETED)
|
name="on-hold.gov",
|
||||||
|
state=Domain.State.ON_HOLD,
|
||||||
|
expiration_date=timezone.make_aware(
|
||||||
|
datetime.combine(date.today() + timedelta(days=1), datetime.min.time())
|
||||||
|
),
|
||||||
|
)
|
||||||
|
self.domain_deleted, _ = Domain.objects.get_or_create(
|
||||||
|
name="deleted.gov",
|
||||||
|
state=Domain.State.DELETED,
|
||||||
|
expiration_date=timezone.make_aware(
|
||||||
|
datetime.combine(date.today() + timedelta(days=1), datetime.min.time())
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
self.domain_dsdata, _ = Domain.objects.get_or_create(name="dnssec-dsdata.gov")
|
self.domain_dsdata, _ = Domain.objects.get_or_create(name="dnssec-dsdata.gov")
|
||||||
self.domain_multdsdata, _ = Domain.objects.get_or_create(name="dnssec-multdsdata.gov")
|
self.domain_multdsdata, _ = Domain.objects.get_or_create(name="dnssec-multdsdata.gov")
|
||||||
|
@ -1501,13 +1515,48 @@ class TestDomainDetail(TestDomainOverview):
|
||||||
self.assertContains(detail_page, "igorville.gov")
|
self.assertContains(detail_page, "igorville.gov")
|
||||||
self.assertContains(detail_page, "Status")
|
self.assertContains(detail_page, "Status")
|
||||||
|
|
||||||
def test_unknown_domain_does_not_show_as_expired(self):
|
def test_unknown_domain_does_not_show_as_expired_on_homepage(self):
|
||||||
|
"""An UNKNOWN domain does not show as expired on the homepage.
|
||||||
|
It shows as 'DNS needed'"""
|
||||||
|
# At the time of this test's writing, there are 6 UNKNOWN domains inherited
|
||||||
|
# from constructors. Let's reset.
|
||||||
|
Domain.objects.all().delete()
|
||||||
|
UserDomainRole.objects.all().delete()
|
||||||
|
|
||||||
|
self.domain, _ = Domain.objects.get_or_create(name="igorville.gov")
|
||||||
|
self.role, _ = UserDomainRole.objects.get_or_create(
|
||||||
|
user=self.user, domain=self.domain, role=UserDomainRole.Roles.MANAGER
|
||||||
|
)
|
||||||
|
|
||||||
home_page = self.app.get("/")
|
home_page = self.app.get("/")
|
||||||
self.assertContains(home_page, "igorville.gov")
|
self.assertContains(home_page, "igorville.gov")
|
||||||
# click the "Edit" link
|
igorville = Domain.objects.get(name="igorville.gov")
|
||||||
# detail_page = home_page.click("Manage", index=0)
|
self.assertEquals(igorville.state, Domain.State.UNKNOWN)
|
||||||
# self.assertContains(detail_page, "igorville.gov")
|
self.assertNotContains(home_page, "Expired")
|
||||||
# self.assertContains(detail_page, "Status")
|
self.assertContains(home_page, "DNS needed")
|
||||||
|
|
||||||
|
def test_unknown_domain_does_not_show_as_expired_on_detail_page(self):
|
||||||
|
"""An UNKNOWN domain does not show as expired on the detail page.
|
||||||
|
It shows as 'DNS needed'"""
|
||||||
|
# At the time of this test's writing, there are 6 UNKNOWN domains inherited
|
||||||
|
# from constructors. Let's reset.
|
||||||
|
Domain.objects.all().delete()
|
||||||
|
UserDomainRole.objects.all().delete()
|
||||||
|
|
||||||
|
self.domain, _ = Domain.objects.get_or_create(name="igorville.gov")
|
||||||
|
self.domain_information, _ = DomainInformation.objects.get_or_create(creator=self.user, domain=self.domain)
|
||||||
|
self.role, _ = UserDomainRole.objects.get_or_create(
|
||||||
|
user=self.user, domain=self.domain, role=UserDomainRole.Roles.MANAGER
|
||||||
|
)
|
||||||
|
|
||||||
|
home_page = self.app.get("/")
|
||||||
|
self.assertContains(home_page, "igorville.gov")
|
||||||
|
igorville = Domain.objects.get(name="igorville.gov")
|
||||||
|
self.assertEquals(igorville.state, Domain.State.UNKNOWN)
|
||||||
|
detail_page = home_page.click("Manage", index=0)
|
||||||
|
self.assertNotContains(detail_page, "Expired")
|
||||||
|
|
||||||
|
self.assertContains(detail_page, "DNS needed")
|
||||||
|
|
||||||
def test_domain_detail_blocked_for_ineligible_user(self):
|
def test_domain_detail_blocked_for_ineligible_user(self):
|
||||||
"""We could easily duplicate this test for all domain management
|
"""We could easily duplicate this test for all domain management
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue