linted again

This commit is contained in:
CocoByte 2024-11-19 22:09:43 -07:00
parent a151f7d135
commit 84bb88a0a4
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
2 changed files with 35 additions and 51 deletions

View file

@ -2388,7 +2388,6 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
def setUpClass(cls):
super().setUpClass()
# Create Portfolio
cls.portfolio = Portfolio.objects.create(creator=cls.user, organization_name="Test Portfolio")
@ -2430,7 +2429,7 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
def test_member_invite_for_new_users(self):
"""Tests the member invitation flow for new users."""
self.client.force_login(self.user)
# Simulate a session to ensure continuity
session_id = self.client.session.session_key
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
@ -2439,7 +2438,7 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
new_member_page = self.app.get(reverse("new-member"))
self.assertEqual(new_member_page.status_code, 200)
self.assertContains(new_member_page, "Add a new member")
self.assertContains(new_member_page, f'<p class="margin-top-0" id="modalEmail"></p>')
self.assertContains(new_member_page, '<p class="margin-top-0" id="modalEmail"></p>')
# Step 2: Fill out the "New Member" form
new_member_form = new_member_page.forms[0]
@ -2449,21 +2448,22 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
# Simulate form submission, which would trigger the modal in JavaScript
response = new_member_form.submit().follow()
self.assertEqual(response.status_code, 301) # Ensure the page does not redirect
self.assertEqual(response.status_code, 301) # Ensure the page does not redirect
# TODO: test the modal somehow
# self.assertContains(new_member_page, f'<p class="margin-top-0" id="modalEmail">{self.new_member_email}</p>')
# form_data = {field.name: field.value() for field in new_member_form}
# Simulate user confirming the modal action (frontend JavaScript would normally handle this)
# Re-submit the form to simulate final submission
final_response = self.client.post(reverse("new-member"), {
"member_access_level": "basic",
"basic_org_domain_request_permissions": "view_only",
"email": self.new_member_email
})
final_response = self.client.post(
reverse("new-member"),
{
"member_access_level": "basic",
"basic_org_domain_request_permissions": "view_only",
"email": self.new_member_email,
},
)
# Ensure the final submission is successful
self.assertEqual(final_response.status_code, 302) # redirects after success
@ -2476,8 +2476,8 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
).first()
self.assertIsNotNone(portfolio_invite)
self.assertEqual(portfolio_invite.email, self.new_member_email)
# self.assertEqual(portfolio_invite.access_level, "basic") # TODO: test that roles and permissions are in the portfolio invite
# self.assertEqual(portfolio_invite.access_level, "basic")
# TODO: test that roles and permissions are in the portfolio invite
@less_console_noise_decorator
@override_flag("organization_feature", active=True)
@ -2485,7 +2485,7 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
def test_member_invite_for_previously_invited_member(self):
"""Tests the member invitation flow for existing portfolio member."""
self.client.force_login(self.user)
# Simulate a session to ensure continuity
session_id = self.client.session.session_key
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
@ -2493,12 +2493,15 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
invite_count_before = PortfolioInvitation.objects.count()
# Simulate submission of member invite for user who has already been invited
response = self.client.post(reverse("new-member"), {
"member_access_level": "basic",
"basic_org_domain_request_permissions": "view_only",
"email": self.invited_member_email
})
self.assertEqual(response.status_code, 302) # Redirects
response = self.client.post(
reverse("new-member"),
{
"member_access_level": "basic",
"basic_org_domain_request_permissions": "view_only",
"email": self.invited_member_email,
},
)
self.assertEqual(response.status_code, 302) # Redirects
# TODO: verify messages
@ -2506,14 +2509,13 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
invite_count_after = PortfolioInvitation.objects.count()
self.assertEqual(invite_count_after, invite_count_before)
@less_console_noise_decorator
@override_flag("organization_feature", active=True)
@override_flag("organization_members", active=True)
def test_member_invite_for_existing_member(self):
"""Tests the member invitation flow for existing portfolio member."""
self.client.force_login(self.user)
# Simulate a session to ensure continuity
session_id = self.client.session.session_key
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
@ -2521,12 +2523,15 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
invite_count_before = PortfolioInvitation.objects.count()
# Simulate submission of member invite for user who has already been invited
response = self.client.post(reverse("new-member"), {
"member_access_level": "basic",
"basic_org_domain_request_permissions": "view_only",
"email": self.user.email
})
self.assertEqual(response.status_code, 302) # Redirects
response = self.client.post(
reverse("new-member"),
{
"member_access_level": "basic",
"basic_org_domain_request_permissions": "view_only",
"email": self.user.email,
},
)
self.assertEqual(response.status_code, 302) # Redirects
# TODO: verify messages

View file

@ -1,7 +1,7 @@
import logging
from django.conf import settings
from django.http import Http404, JsonResponse, JsonResponse
from django.http import Http404, JsonResponse
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
from django.utils.safestring import mark_safe
@ -28,16 +28,9 @@ from django.views.generic import View
from django.views.generic.edit import FormMixin
# ---Logger
import logging
from venv import logger
from registrar.management.commands.utility.terminal_helper import TerminalColors, TerminalHelper
logger = logging.getLogger(__name__)
class PortfolioDomainsView(PortfolioDomainsPermissionView, View):
template_name = "portfolio_domains.html"
@ -502,7 +495,6 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
"""Handle POST requests to process form submission."""
self.object = self.get_object()
form = self.get_form()
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"**post")
if form.is_valid():
return self.form_valid(form)
@ -519,16 +511,12 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
return super().form_invalid(form) # Handle non-AJAX requests normally
def form_valid(self, form):
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"VALIDATING")
if self.is_ajax():
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"IS AJAX")
return JsonResponse({"is_valid": True}) # Return a JSON response
else:
return self.submit_new_member(form)
def get_success_url(self):
"""Redirect to members table."""
return reverse("members")
@ -542,8 +530,6 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
raises EmailSendingError
"""
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"_send_portfolio_invitation_email")
# Set a default email address to send to for staff
requestor_email = settings.DEFAULT_FROM_EMAIL
@ -572,7 +558,6 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
else:
add_success = False
# else if it has been sent but not accepted
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"has already been invited to this portfolio")
messages.warning(self.request, f"{email} has already been invited to this portfolio")
except Exception:
logger.error("An error occured")
@ -616,8 +601,6 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
"""Add the specified user as a member
for this portfolio.
Throws EmailSendingError."""
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"Submit new member")
requested_email = form.cleaned_data["email"]
requestor = self.request.user
@ -626,8 +609,6 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
requested_user = User.objects.get(email=requested_email)
except User.DoesNotExist:
# no matching user, go make an invitation
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"..making invitation")
return self._make_invitation(requested_email, requestor)
else:
# If user already exists, check to see if they are part of the portfolio already
@ -635,11 +616,9 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
existing_user = UserPortfolioPermission.objects.get(user=requested_user, portfolio=self.object)
if existing_user:
messages.warning(self.request, "User is already a member of this portfolio.")
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"already a member")
else:
try:
self._send_portfolio_invitation_email(requested_email, requestor, add_success=False)
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"..SEnding invitation")
except EmailSendingError:
logger.warn(
"Could not send email invitation (EmailSendingError)",