From c05cb1ef378c7ac7577fe11a5fb5675ecac9426c Mon Sep 17 00:00:00 2001 From: David Kennedy Date: Thu, 20 Feb 2025 15:42:38 -0500 Subject: [PATCH] removed thank you message, finished tests, linted --- .../commands/disclose_security_emails.py | 2 +- .../commands/master_domain_migrations.py | 8 ++--- .../populate_domain_updated_federal_agency.py | 2 +- .../templates/emails/portfolio_removal.txt | 3 -- src/registrar/tests/test_views_portfolio.py | 36 +++++++++++++++++-- src/registrar/views/portfolios.py | 4 +-- src/registrar/views/user_profile.py | 3 +- 7 files changed, 41 insertions(+), 17 deletions(-) diff --git a/src/registrar/management/commands/disclose_security_emails.py b/src/registrar/management/commands/disclose_security_emails.py index 62989e4c0..62456747a 100644 --- a/src/registrar/management/commands/disclose_security_emails.py +++ b/src/registrar/management/commands/disclose_security_emails.py @@ -1,4 +1,4 @@ -"""" +""" " Converts all ready and DNS needed domains with a non-default public contact to disclose their public contact. Created for Issue#1535 to resolve disclose issue of domains with missing security emails. diff --git a/src/registrar/management/commands/master_domain_migrations.py b/src/registrar/management/commands/master_domain_migrations.py index 7f702e047..2907add06 100644 --- a/src/registrar/management/commands/master_domain_migrations.py +++ b/src/registrar/management/commands/master_domain_migrations.py @@ -1,8 +1,8 @@ """Data migration: - 1 - generates a report of data integrity across all - transition domain related tables - 2 - allows users to run all migration scripts for - transition domain data +1 - generates a report of data integrity across all +transition domain related tables +2 - allows users to run all migration scripts for +transition domain data """ import logging diff --git a/src/registrar/management/commands/populate_domain_updated_federal_agency.py b/src/registrar/management/commands/populate_domain_updated_federal_agency.py index dd8ceb3b2..3fbf2792c 100644 --- a/src/registrar/management/commands/populate_domain_updated_federal_agency.py +++ b/src/registrar/management/commands/populate_domain_updated_federal_agency.py @@ -1,4 +1,4 @@ -"""" +""" " Data migration: Renaming deprecated Federal Agencies to their new updated names ie (U.S. Peace Corps to Peace Corps) within Domain Information and Domain Requests diff --git a/src/registrar/templates/emails/portfolio_removal.txt b/src/registrar/templates/emails/portfolio_removal.txt index 6de2190ae..779f37546 100644 --- a/src/registrar/templates/emails/portfolio_removal.txt +++ b/src/registrar/templates/emails/portfolio_removal.txt @@ -11,9 +11,6 @@ If you have questions or concerns, reach out to the person who removed you from organization, or reply to this email. -THANK YOU -.Gov helps the public identify official, trusted information. Thank you for using a .gov domain. - ---------------------------------------------------------------- The .gov team diff --git a/src/registrar/tests/test_views_portfolio.py b/src/registrar/tests/test_views_portfolio.py index 1952d7c12..0f98b7eea 100644 --- a/src/registrar/tests/test_views_portfolio.py +++ b/src/registrar/tests/test_views_portfolio.py @@ -2093,7 +2093,9 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): @override_flag("organization_members", active=True) @patch("registrar.views.portfolios.send_portfolio_admin_removal_emails") @patch("registrar.views.portfolios.send_portfolio_invitation_remove_email") - def test_portfolio_member_delete_view_manage_members_page_invitedmember(self, send_invited_member_removal, mock_send_removal_emails): + def test_portfolio_member_delete_view_manage_members_page_invitedmember( + self, send_invited_member_removal, mock_send_removal_emails + ): """Success state w/ deleting invited member on Manage Members page should redirect back to Members Table""" # I'm a user @@ -2156,7 +2158,10 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): @override_flag("organization_feature", active=True) @override_flag("organization_members", active=True) @patch("registrar.views.portfolios.send_portfolio_admin_removal_emails") - def test_portfolio_member_delete_view_manage_members_page_invitedadmin(self, mock_send_removal_emails): + @patch("registrar.views.portfolios.send_portfolio_invitation_remove_email") + def test_portfolio_member_delete_view_manage_members_page_invitedadmin( + self, send_invited_member_email, mock_send_removal_emails + ): """Success state w/ deleting invited admin on Manage Members page should redirect back to Members Table""" # I'm a user @@ -2171,6 +2176,7 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): ) mock_send_removal_emails.return_value = True + send_invited_member_email.return_value = True # Invite an admin under same portfolio invited_member_email = "invited_member@example.com" @@ -2202,6 +2208,8 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): # assert send_portfolio_admin_removal_emails is called since invitation # is for an admin mock_send_removal_emails.assert_called_once() + # assert that send_portfolio_invitation_remove_email is called + send_invited_member_email.assert_called_once() # Get the arguments passed to send_portfolio_admin_addition_emails _, called_kwargs = mock_send_removal_emails.call_args @@ -2211,11 +2219,22 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): self.assertEqual(called_kwargs["requestor"], self.user) self.assertEqual(called_kwargs["portfolio"], self.portfolio) + # Get the arguments passed to send_portfolio_invitation_remove_email + _, called_kwargs = send_invited_member_email.call_args + + # Assert the email content + self.assertEqual(called_kwargs["requestor"], self.user) + self.assertEqual(called_kwargs["invitation"].email, invitation.email) + self.assertEqual(called_kwargs["invitation"].portfolio, invitation.portfolio) + @less_console_noise_decorator @override_flag("organization_feature", active=True) @override_flag("organization_members", active=True) @patch("registrar.views.portfolios.send_portfolio_admin_removal_emails") - def test_portfolio_member_delete_view_manage_members_page_invitedadmin_email_fails(self, mock_send_removal_emails): + @patch("registrar.views.portfolios.send_portfolio_invitation_remove_email") + def test_portfolio_member_delete_view_manage_members_page_invitedadmin_email_fails( + self, send_invited_member_email, mock_send_removal_emails + ): """Success state w/ deleting invited admin on Manage Members page should redirect back to Members Table""" # I'm a user @@ -2230,6 +2249,7 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): ) mock_send_removal_emails.return_value = False + send_invited_member_email.return_value = False # Invite an admin under same portfolio invited_member_email = "invited_member@example.com" @@ -2261,6 +2281,8 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): # assert send_portfolio_admin_removal_emails is called since invitation # is for an admin mock_send_removal_emails.assert_called_once() + # assert that send_portfolio_invitation_remove_email is called + send_invited_member_email.assert_called_once() # Get the arguments passed to send_portfolio_admin_addition_emails _, called_kwargs = mock_send_removal_emails.call_args @@ -2270,6 +2292,14 @@ class TestPortfolioInvitedMemberDeleteView(WebTest): self.assertEqual(called_kwargs["requestor"], self.user) self.assertEqual(called_kwargs["portfolio"], self.portfolio) + # Get the arguments passed to send_portfolio_invitation_remove_email + _, called_kwargs = send_invited_member_email.call_args + + # Assert the email content + self.assertEqual(called_kwargs["requestor"], self.user) + self.assertEqual(called_kwargs["invitation"].email, invitation.email) + self.assertEqual(called_kwargs["invitation"].portfolio, invitation.portfolio) + class TestPortfolioMemberDomainsView(TestWithUser, WebTest): @classmethod diff --git a/src/registrar/views/portfolios.py b/src/registrar/views/portfolios.py index f53fe5f22..07adb3688 100644 --- a/src/registrar/views/portfolios.py +++ b/src/registrar/views/portfolios.py @@ -480,9 +480,7 @@ class PortfolioInvitedMemberDeleteView(PortfolioMemberPermission, View): ): messages.warning(self.request, "Could not send email notification to existing organization admins.") if not send_portfolio_invitation_remove_email(requestor=request.user, invitation=portfolio_invitation): - messages.warning( - request, f"Could not send email notification to {portfolio_invitation.email}" - ) + messages.warning(request, f"Could not send email notification to {portfolio_invitation.email}") except Exception as e: self._handle_exceptions(e) diff --git a/src/registrar/views/user_profile.py b/src/registrar/views/user_profile.py index 2012d12ab..41584bc82 100644 --- a/src/registrar/views/user_profile.py +++ b/src/registrar/views/user_profile.py @@ -1,5 +1,4 @@ -"""Views for a User Profile. -""" +"""Views for a User Profile.""" import logging