mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-18 18:39:21 +02:00
Fix tests
This commit is contained in:
parent
f7df9a3566
commit
e0bc28f2c7
3 changed files with 67 additions and 30 deletions
|
@ -856,23 +856,6 @@ class TestDomainRequestAdmin(MockEppLib):
|
||||||
self.transition_state_and_send_email(domain_request, DomainRequest.DomainRequestStatus.SUBMITTED)
|
self.transition_state_and_send_email(domain_request, DomainRequest.DomainRequestStatus.SUBMITTED)
|
||||||
self.assertEqual(len(self.mock_client.EMAILS_SENT), 3)
|
self.assertEqual(len(self.mock_client.EMAILS_SENT), 3)
|
||||||
|
|
||||||
@less_console_noise_decorator
|
|
||||||
def test_model_displays_action_needed_email(self):
|
|
||||||
"""Tests if the action needed email is visible for Domain Requests"""
|
|
||||||
|
|
||||||
_domain_request = completed_domain_request(
|
|
||||||
status=DomainRequest.DomainRequestStatus.ACTION_NEEDED,
|
|
||||||
action_needed_reason=DomainRequest.ActionNeededReasons.BAD_NAME,
|
|
||||||
)
|
|
||||||
|
|
||||||
self.client.force_login(self.staffuser)
|
|
||||||
response = self.client.get(
|
|
||||||
"/admin/registrar/domainrequest/{}/change/".format(_domain_request.pk),
|
|
||||||
follow=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertContains(response, "DOMAIN NAME DOES NOT MEET .GOV REQUIREMENTS")
|
|
||||||
|
|
||||||
@override_settings(IS_PRODUCTION=True)
|
@override_settings(IS_PRODUCTION=True)
|
||||||
@less_console_noise_decorator
|
@less_console_noise_decorator
|
||||||
def test_save_model_sends_submitted_email_with_bcc_on_prod(self):
|
def test_save_model_sends_submitted_email_with_bcc_on_prod(self):
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.test import TestCase, Client
|
from django.test import TestCase, Client
|
||||||
from registrar.models import FederalAgency, SeniorOfficial, User
|
from registrar.models import FederalAgency, SeniorOfficial, User, DomainRequest
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from registrar.tests.common import create_superuser, create_user
|
from registrar.tests.common import create_superuser, create_user, completed_domain_request
|
||||||
|
|
||||||
from api.tests.common import less_console_noise_decorator
|
from api.tests.common import less_console_noise_decorator
|
||||||
from registrar.utility.constants import BranchChoices
|
from registrar.utility.constants import BranchChoices
|
||||||
|
@ -109,3 +109,58 @@ class GetFederalPortfolioTypeJsonTest(TestCase):
|
||||||
self.client.login(username="testuser", password=p)
|
self.client.login(username="testuser", password=p)
|
||||||
response = self.client.get(self.api_url, {"agency_name": "Test Agency", "organization_type": "federal"})
|
response = self.client.get(self.api_url, {"agency_name": "Test Agency", "organization_type": "federal"})
|
||||||
self.assertEqual(response.status_code, 302)
|
self.assertEqual(response.status_code, 302)
|
||||||
|
|
||||||
|
|
||||||
|
class GetActionNeededEmailForUserJsonTest(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.client = Client()
|
||||||
|
self.superuser = create_superuser()
|
||||||
|
self.analyst_user = create_user()
|
||||||
|
self.agency = FederalAgency.objects.create(agency="Test Agency")
|
||||||
|
self.domain_request = completed_domain_request(
|
||||||
|
federal_agency=self.agency,
|
||||||
|
name="test.gov",
|
||||||
|
status=DomainRequest.DomainRequestStatus.ACTION_NEEDED,
|
||||||
|
)
|
||||||
|
|
||||||
|
self.api_url = reverse("get-action-needed-email-for-user-json")
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
DomainRequest.objects.all().delete()
|
||||||
|
User.objects.all().delete()
|
||||||
|
FederalAgency.objects.all().delete()
|
||||||
|
|
||||||
|
@less_console_noise_decorator
|
||||||
|
def test_get_action_needed_email_for_user_json_superuser(self):
|
||||||
|
"""Test that a superuser can fetch the action needed email."""
|
||||||
|
p = "adminpass"
|
||||||
|
self.client.force_login(self.superuser)
|
||||||
|
|
||||||
|
response = self.client.get(
|
||||||
|
self.api_url,
|
||||||
|
{
|
||||||
|
"reason": DomainRequest.ActionNeededReasons.ELIGIBILITY_UNCLEAR,
|
||||||
|
"domain_request_id": self.domain_request.id,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
data = response.json()
|
||||||
|
self.assertIn("action_needed_email", data)
|
||||||
|
self.assertIn("ORGANIZATION MAY NOT MEET ELIGIBILITY REQUIREMENTS", data["action_needed_email"])
|
||||||
|
|
||||||
|
@less_console_noise_decorator
|
||||||
|
def test_get_action_needed_email_for_user_json_analyst(self):
|
||||||
|
"""Test that an analyst can fetch the action needed email."""
|
||||||
|
self.client.force_login(self.analyst_user)
|
||||||
|
|
||||||
|
response = self.client.get(
|
||||||
|
self.api_url,
|
||||||
|
{
|
||||||
|
"reason": DomainRequest.ActionNeededReasons.QUESTIONABLE_SENIOR_OFFICIAL,
|
||||||
|
"domain_request_id": self.domain_request.id,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
data = response.json()
|
||||||
|
self.assertIn("action_needed_email", data)
|
||||||
|
self.assertIn("SENIOR OFFICIAL DOES NOT MEET ELIGIBILITY REQUIREMENTS", data["action_needed_email"])
|
||||||
|
|
|
@ -1,21 +1,20 @@
|
||||||
from django.http import HttpRequest
|
|
||||||
from registrar.models.domain_request import DomainRequest
|
from registrar.models.domain_request import DomainRequest
|
||||||
from waffle.decorators import flag_is_active
|
from waffle.decorators import flag_is_active
|
||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
|
|
||||||
|
|
||||||
def get_all_action_needed_reason_emails(request, domain_request):
|
def get_all_action_needed_reason_emails(request, domain_request):
|
||||||
"""Returns a dictionary of every action needed reason and its associated email
|
"""Returns a dictionary of every action needed reason and its associated email
|
||||||
for this particular domain request."""
|
for this particular domain request."""
|
||||||
|
|
||||||
emails = {}
|
emails = {}
|
||||||
for action_needed_reason in domain_request.ActionNeededReasons:
|
for action_needed_reason in domain_request.ActionNeededReasons:
|
||||||
# Map the action_needed_reason to its default email
|
# Map the action_needed_reason to its default email
|
||||||
emails[action_needed_reason.value] = get_action_needed_reason_default_email(
|
emails[action_needed_reason.value] = get_action_needed_reason_default_email(
|
||||||
request, domain_request, action_needed_reason.value
|
request, domain_request, action_needed_reason.value
|
||||||
)
|
)
|
||||||
|
|
||||||
return emails
|
return emails
|
||||||
|
|
||||||
|
|
||||||
def get_action_needed_reason_default_email(request, domain_request, action_needed_reason):
|
def get_action_needed_reason_default_email(request, domain_request, action_needed_reason):
|
||||||
|
@ -39,4 +38,4 @@ def get_action_needed_reason_default_email(request, domain_request, action_neede
|
||||||
if email_body_text:
|
if email_body_text:
|
||||||
email_body_text_cleaned = email_body_text.strip().lstrip("\n")
|
email_body_text_cleaned = email_body_text.strip().lstrip("\n")
|
||||||
|
|
||||||
return email_body_text_cleaned
|
return email_body_text_cleaned
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue