added test for case where no status

This commit is contained in:
David Kennedy 2023-09-12 14:47:22 -04:00
parent 74fa04fd6c
commit 31d04c0269
No known key found for this signature in database
GPG key ID: 6528A5386E66B96B
2 changed files with 18 additions and 2 deletions

View file

@ -267,11 +267,13 @@ class DomainApplicationAdminForm(forms.ModelForm):
instance = kwargs.get("instance")
if instance and instance.pk:
current_state = instance.status
# first option in status transitions is current state
available_transitions = [(current_state, current_state)]
transitions = get_available_FIELD_transitions(
instance, models.DomainApplication._meta.get_field("status")
)
# first option in status transitions is current state
available_transitions = [(current_state, current_state)]
for transition in transitions:
available_transitions.append((transition.target, transition.target))

View file

@ -106,6 +106,20 @@ class TestDomainApplicationAdminForm(TestCase):
expected_choices = [("started", "started"), ("submitted", "submitted")]
self.assertEqual(form.fields["status"].widget.choices, expected_choices)
def test_form_choices_when_no_instance(self):
# Create a form instance without an instance
form = DomainApplicationAdminForm()
# Verify that the form choices show all choices when no instance is provided;
# this is necessary to show all choices when creating a new domain
# application in django admin;
# note that FSM ensures that no domain application exists with invalid status,
# so don't need to test for invalid status
self.assertEqual(
form.fields["status"].widget.choices,
DomainApplication._meta.get_field("status").choices,
)
class TestDomainApplicationAdmin(TestCase):
def setUp(self):