mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-24 11:38:39 +02:00
Unit test
This commit is contained in:
parent
e1006ed378
commit
5fa622ada1
1 changed files with 63 additions and 0 deletions
|
@ -2959,6 +2959,69 @@ class TestDomainRequestWizard(TestWithUser, WebTest):
|
|||
DomainRequest.objects.all().delete()
|
||||
DomainInformation.objects.all().delete()
|
||||
|
||||
@less_console_noise_decorator
|
||||
def test_breadcrumb_navigation(self):
|
||||
"""
|
||||
Tests the breadcrumb navigation behavior in domain request wizard.
|
||||
Ensures that:
|
||||
- Breadcrumb shows correct text based on portfolio flag
|
||||
- Links point to correct destinations
|
||||
- Back button appears on appropriate steps
|
||||
- Back button is not present on first step
|
||||
"""
|
||||
# Create initial domain request
|
||||
domain_request = completed_domain_request(
|
||||
status=DomainRequest.DomainRequestStatus.STARTED,
|
||||
user=self.user,
|
||||
)
|
||||
|
||||
# Test without portfolio flag
|
||||
start_page = self.app.get(f"/domain-request/{domain_request.id}/edit/").follow()
|
||||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
# Check initial breadcrumb state.
|
||||
# Ensure that the request name is shown if it exists, otherwise just show new domain request.
|
||||
self.assertContains(start_page, '<ol class="usa-breadcrumb__list">')
|
||||
self.assertContains(start_page, "city.gov")
|
||||
self.assertContains(start_page, 'href="/"')
|
||||
self.assertContains(start_page, "Manage your domains")
|
||||
self.assertNotContains(start_page, "Previous step")
|
||||
|
||||
# Move to next step
|
||||
form = start_page.forms[0]
|
||||
next_page = form.submit().follow()
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
# Verify that the back button appears
|
||||
self.assertContains(next_page, "Previous step")
|
||||
self.assertContains(next_page, "#arrow_back")
|
||||
|
||||
# Test with portfolio flag
|
||||
with override_flag("organization_feature", active=True), override_flag("organization_requests", active=True):
|
||||
portfolio = Portfolio.objects.create(
|
||||
creator=self.user,
|
||||
organization_name="test portfolio",
|
||||
)
|
||||
permission = UserPortfolioPermission.objects.create(
|
||||
user=self.user,
|
||||
portfolio=portfolio,
|
||||
roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN],
|
||||
)
|
||||
|
||||
# Check portfolio-specific breadcrumb
|
||||
portfolio_page = self.app.get(f"/domain-request/{domain_request.id}/edit/").follow()
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
self.assertContains(portfolio_page, "Domain requests")
|
||||
|
||||
# Clean up portfolio
|
||||
permission.delete()
|
||||
portfolio.delete()
|
||||
|
||||
# Clean up
|
||||
domain_request.delete()
|
||||
|
||||
@less_console_noise_decorator
|
||||
def test_unlocked_steps_empty_domain_request(self):
|
||||
"""Test when all fields in the domain request are empty."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue