Update from views to models to testing in backend

This commit is contained in:
Rebecca Hsieh 2024-05-22 13:36:20 -07:00
parent 0effa81988
commit 27906bc310
No known key found for this signature in database
4 changed files with 660 additions and 325 deletions

View file

@ -1,6 +1,7 @@
from django.test import TestCase
from django.db.utils import IntegrityError
from unittest.mock import patch
from django.contrib.auth import get_user_model
from registrar.models import (
Contact,
@ -1602,3 +1603,197 @@ class TestDomainInformationCustomSave(TestCase):
)
self.assertEqual(domain_information_election.is_election_board, True)
self.assertEqual(domain_information_election.generic_org_type, DomainRequest.OrganizationChoices.CITY)
class TestDomainRequestIncomplete(TestCase):
def setUp(self):
super().setUp()
username = "test_user"
first_name = "First"
last_name = "Last"
email = "info@example.com"
self.user = get_user_model().objects.create(
username=username, first_name=first_name, last_name=last_name, email=email
)
ao, _ = Contact.objects.get_or_create(
first_name="Meowy",
last_name="Meoward",
title="Chief Cat",
email="meoward@chiefcat.com",
phone="(206) 206 2060",
)
draft_domain, _ = DraftDomain.objects.get_or_create(name="MeowardMeowardMeoward.gov")
you, _ = Contact.objects.get_or_create(
first_name="Testy you",
last_name="Tester you",
title="Admin Tester",
email="testy-admin@town.com",
phone="(555) 555 5556",
)
other, _ = Contact.objects.get_or_create(
first_name="Testy2",
last_name="Tester2",
title="Another Tester",
email="testy2@town.com",
phone="(555) 555 5557",
)
# domain, _ = Domain.objects.get_or_create(name="MeowardMeowardMeoward.gov")
alt, _ = Website.objects.get_or_create(website="MeowardMeowardMeoward1.gov")
current, _ = Website.objects.get_or_create(website="MeowardMeowardMeoward.com")
self.domain_request = DomainRequest.objects.create(
generic_org_type=DomainRequest.OrganizationChoices.FEDERAL,
federal_type="executive",
federal_agency=FederalAgency.objects.get(agency="AMTRAK"),
about_your_organization="Some description",
is_election_board=True,
tribe_name="Some tribe name",
organization_name="Some organization",
address_line1="address 1",
state_territory="CA",
zipcode="94044",
authorizing_official=ao,
requested_domain=draft_domain,
purpose="Some purpose",
submitter=you,
has_cisa_representative=False,
has_anything_else_text="Some text",
is_policy_acknowledged=True,
creator=self.user,
)
self.domain_request.other_contacts.add(other)
self.domain_request.current_websites.add(current)
self.domain_request.alternative_domains.add(alt)
def test_is_federal_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.FEDERAL
self.assertTrue(self.domain_request._is_federal_complete())
self.domain_request.federal_type = None
self.assertFalse(self.domain_request._is_federal_complete())
def test_is_interstate_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.INTERSTATE
self.assertTrue(self.domain_request._is_interstate_complete())
self.domain_request.about_your_organization = None
self.assertFalse(self.domain_request._is_interstate_complete())
def test_is_state_or_territory_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.STATE_OR_TERRITORY
self.assertTrue(self.domain_request._is_state_or_territory_complete())
self.domain_request.is_election_board = None
self.assertFalse(self.domain_request._is_state_or_territory_complete())
def test_is_tribal_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.TRIBAL
self.assertTrue(self.domain_request._is_tribal_complete())
self.domain_request.tribe_name = None
self.assertFalse(self.domain_request._is_tribal_complete())
def test_is_county_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.COUNTY
self.assertTrue(self.domain_request._is_county_complete())
self.domain_request.is_election_board = None
self.assertFalse(self.domain_request._is_county_complete())
def test_is_city_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.CITY
self.assertTrue(self.domain_request._is_city_complete())
self.domain_request.is_election_board = None
self.assertFalse(self.domain_request._is_city_complete())
def test_is_special_district_complete(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.SPECIAL_DISTRICT
self.assertTrue(self.domain_request._is_special_district_complete())
self.domain_request.about_your_organization = None
self.assertFalse(self.domain_request._is_special_district_complete())
def test_is_organization_name_and_address_complete(self):
self.assertTrue(self.domain_request._is_organization_name_and_address_complete())
self.domain_request.organization_name = None
self.assertFalse(self.domain_request._is_organization_name_and_address_complete())
def test_is_authorizing_official_complete(self):
self.assertTrue(self.domain_request._is_authorizing_official_complete())
self.domain_request.authorizing_official = None
self.assertFalse(self.domain_request._is_authorizing_official_complete())
def test_is_requested_domain_complete(self):
self.assertTrue(self.domain_request._is_requested_domain_complete())
self.domain_request.requested_domain = None
self.assertFalse(self.domain_request._is_requested_domain_complete())
def test_is_purpose_complete(self):
self.assertTrue(self.domain_request._is_purpose_complete())
self.domain_request.purpose = None
self.assertFalse(self.domain_request._is_purpose_complete())
def test_is_submitter_complete(self):
self.assertTrue(self.domain_request._is_submitter_complete())
self.domain_request.submitter = None
self.assertFalse(self.domain_request._is_submitter_complete())
def test_is_other_contacts_complete(self):
self.assertTrue(self.domain_request._is_other_contacts_complete())
none_other_contacts, _ = Contact.objects.get_or_create(
first_name=None,
last_name=None,
title=None,
email=None,
phone=None,
)
self.domain_request.other_contacts.add(none_other_contacts)
self.assertFalse(self.domain_request._is_other_contacts_complete())
def test_is_additional_details_complete(self):
self.assertTrue(self.domain_request._is_additional_details_complete())
self.domain_request.has_cisa_representative = None
self.assertFalse(self.domain_request._is_additional_details_complete())
self.domain_request.has_cisa_representative = True
self.domain_request.cisa_representative_email = None
self.assertFalse(self.domain_request._is_additional_details_complete())
def test_is_general_form_complete(self):
self.assertTrue(self.domain_request._is_general_form_complete())
self.domain_request.organization_name = None
self.assertFalse(self.domain_request._is_general_form_complete())
def test_form_complete_for_federal(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.FEDERAL
self.assertTrue(self.domain_request._form_complete())
self.domain_request.federal_type = None
self.assertFalse(self.domain_request._form_complete())
def test_form_complete_for_interstate(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.INTERSTATE
self.assertTrue(self.domain_request._form_complete())
self.domain_request.about_your_organization = None
self.assertFalse(self.domain_request._form_complete())
def test_form_complete_for_state_or_territory(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.STATE_OR_TERRITORY
self.assertTrue(self.domain_request._form_complete())
self.domain_request.is_election_board = None
self.assertFalse(self.domain_request._form_complete())
def test_form_complete_for_tribal(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.TRIBAL
self.assertTrue(self.domain_request._form_complete())
self.domain_request.tribe_name = None
self.assertFalse(self.domain_request._form_complete())
def test_form_complete_for_county(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.COUNTY
self.assertTrue(self.domain_request._form_complete())
self.domain_request.is_election_board = None
self.assertFalse(self.domain_request._form_complete())
def test_form_complete_for_city(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.CITY
self.assertTrue(self.domain_request._form_complete())
self.domain_request.is_election_board = None
self.assertFalse(self.domain_request._form_complete())
def test_form_complete_for_special_district(self):
self.domain_request.generic_org_type = DomainRequest.OrganizationChoices.SPECIAL_DISTRICT
self.assertTrue(self.domain_request._form_complete())
self.domain_request.about_your_organization = None
self.assertFalse(self.domain_request._form_complete())