From 8081e9252f8022bca81c3b52beb9ff7ae668d995 Mon Sep 17 00:00:00 2001 From: zandercymatics <141044360+zandercymatics@users.noreply.github.com> Date: Wed, 14 Aug 2024 11:10:10 -0600 Subject: [PATCH] PR suggestions - unit test --- src/registrar/tests/test_models.py | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/registrar/tests/test_models.py b/src/registrar/tests/test_models.py index b50525e27..f4952db0f 100644 --- a/src/registrar/tests/test_models.py +++ b/src/registrar/tests/test_models.py @@ -2198,3 +2198,57 @@ class TestDomainRequestIncomplete(TestCase): self.domain_request.generic_org_type = None self.domain_request.save() self.assertFalse(self.domain_request._form_complete(request)) + + +class TestPortfolio(TestCase): + def setUp(self): + self.user, _ = User.objects.get_or_create( + username="intern@igorville.com", email="intern@igorville.com", first_name="Lava", last_name="World" + ) + super().setUp() + + def tearDown(self): + super().tearDown() + Portfolio.objects.all().delete() + User.objects.all().delete() + + def test_urbanization_field_resets_when_not_puetro_rico(self): + """The urbanization field should only be populated when the state is puetro rico. + Otherwise, this field should be empty.""" + # Start out as PR, then change the field + portfolio = Portfolio.objects.create( + creator=self.user, + organization_name="Test Portfolio", + state_territory=DomainRequest.StateTerritoryChoices.PUERTO_RICO, + urbanization="test", + ) + + self.assertEqual(portfolio.urbanization, "test") + self.assertEqual(portfolio.state_territory, DomainRequest.StateTerritoryChoices.PUERTO_RICO) + + portfolio.state_territory = DomainRequest.StateTerritoryChoices.ALABAMA + portfolio.save() + + self.assertEqual(portfolio.urbanization, None) + self.assertEqual(portfolio.state_territory, DomainRequest.StateTerritoryChoices.ALABAMA) + + def test_can_add_urbanization_field(self): + """Ensures that you can populate the urbanization field when conditions are right""" + # Create a portfolio that cannot have this field + portfolio = Portfolio.objects.create( + creator=self.user, + organization_name="Test Portfolio", + state_territory=DomainRequest.StateTerritoryChoices.ALABAMA, + urbanization="test", + ) + + # Implicitly check if this gets cleared on create. It should. + self.assertEqual(portfolio.urbanization, None) + self.assertEqual(portfolio.state_territory, DomainRequest.StateTerritoryChoices.ALABAMA) + + portfolio.state_territory = DomainRequest.StateTerritoryChoices.PUERTO_RICO + portfolio.urbanization = "test123" + portfolio.save() + + self.assertEqual(portfolio.urbanization, "test123") + self.assertEqual(portfolio.state_territory, DomainRequest.StateTerritoryChoices.PUERTO_RICO)