This commit is contained in:
zandercymatics 2024-10-02 11:35:49 -06:00
parent b497931f84
commit d4512977c5
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
2 changed files with 23 additions and 14 deletions

View file

@ -1,15 +1,11 @@
from registrar.models import DomainRequest
from django.urls import reverse from django.urls import reverse
from registrar.models.draft_domain import DraftDomain
from registrar.models.portfolio import Portfolio from registrar.models.portfolio import Portfolio
from registrar.models.user import User from registrar.models.user import User
from registrar.models.user_portfolio_permission import UserPortfolioPermission from registrar.models.user_portfolio_permission import UserPortfolioPermission
from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices
from .test_views import TestWithUser from .test_views import TestWithUser
from django_webtest import WebTest # type: ignore from django_webtest import WebTest # type: ignore
from django.utils.dateparse import parse_datetime
from waffle.testutils import override_flag
class GetPortfolioMembersJsonTest(TestWithUser, WebTest): class GetPortfolioMembersJsonTest(TestWithUser, WebTest):
@ -54,7 +50,7 @@ class GetPortfolioMembersJsonTest(TestWithUser, WebTest):
additional_permissions=[ additional_permissions=[
UserPortfolioPermissionChoices.VIEW_MEMBERS, UserPortfolioPermissionChoices.VIEW_MEMBERS,
UserPortfolioPermissionChoices.EDIT_MEMBERS, UserPortfolioPermissionChoices.EDIT_MEMBERS,
] ],
) )
UserPortfolioPermission.objects.create( UserPortfolioPermission.objects.create(
user=cls.user2, user=cls.user2,
@ -116,7 +112,9 @@ class GetPortfolioMembersJsonTest(TestWithUser, WebTest):
roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER], roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER],
) )
response = self.app.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "page": 1}) response = self.app.get(
reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "page": 1}
)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
data = response.json data = response.json
@ -131,7 +129,9 @@ class GetPortfolioMembersJsonTest(TestWithUser, WebTest):
# Check the number of members on page 1 # Check the number of members on page 1
self.assertEqual(len(data["members"]), 10) self.assertEqual(len(data["members"]), 10)
response = self.app.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "page": 2}) response = self.app.get(
reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "page": 2}
)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
data = response.json data = response.json
@ -147,7 +147,9 @@ class GetPortfolioMembersJsonTest(TestWithUser, WebTest):
def test_search(self): def test_search(self):
"""Test search functionality for portfolio members.""" """Test search functionality for portfolio members."""
# Search by first name # Search by first name
response = self.app.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "Second"}) response = self.app.get(
reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "Second"}
)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
data = response.json data = response.json
self.assertEqual(len(data["members"]), 1) self.assertEqual(len(data["members"]), 1)
@ -155,21 +157,28 @@ class GetPortfolioMembersJsonTest(TestWithUser, WebTest):
self.assertEqual(data["members"][0]["email"], "second@example.com") self.assertEqual(data["members"][0]["email"], "second@example.com")
# Search by last name # Search by last name
response = self.app.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "Last3"}) response = self.app.get(
reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "Last3"}
)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
data = response.json data = response.json
self.assertEqual(len(data["members"]), 1) self.assertEqual(len(data["members"]), 1)
self.assertEqual(data["members"][0]["last_name"], "User") self.assertEqual(data["members"][0]["last_name"], "User")
# Search by email # Search by email
response = self.app.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "fourth@example.com"}) response = self.app.get(
reverse("get_portfolio_members_json"),
params={"portfolio": self.portfolio.id, "search_term": "fourth@example.com"},
)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
data = response.json data = response.json
self.assertEqual(len(data["members"]), 1) self.assertEqual(len(data["members"]), 1)
self.assertEqual(data["members"][0]["email"], "fourth@example.com") self.assertEqual(data["members"][0]["email"], "fourth@example.com")
# Search with no matching results # Search with no matching results
response = self.app.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "NonExistent"}) response = self.app.get(
reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id, "search_term": "NonExistent"}
)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
data = response.json data = response.json
self.assertEqual(len(data["members"]), 0) self.assertEqual(len(data["members"]), 0)

View file

@ -781,7 +781,7 @@ class TestPortfolio(WebTest):
# Verify that manage settings are sent in the dynamic HTML # Verify that manage settings are sent in the dynamic HTML
self.client.force_login(self.user) self.client.force_login(self.user)
response = self.client.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id}) response = self.client.get(reverse("get_portfolio_members_json") + f"?portfolio={self.portfolio.pk}")
self.assertContains(response, '"action_label": "Manage"') self.assertContains(response, '"action_label": "Manage"')
self.assertContains(response, '"svg_icon": "settings"') self.assertContains(response, '"svg_icon": "settings"')
@ -816,7 +816,7 @@ class TestPortfolio(WebTest):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
# Verify that view-only settings are sent in the dynamic HTML # Verify that view-only settings are sent in the dynamic HTML
response = self.client.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id}) response = self.client.get(reverse("get_portfolio_members_json") + f"?portfolio={self.portfolio.pk}")
print(response.content) print(response.content)
self.assertContains(response, '"action_label": "View"') self.assertContains(response, '"action_label": "View"')
self.assertContains(response, '"svg_icon": "visibility"') self.assertContains(response, '"svg_icon": "visibility"')
@ -852,7 +852,7 @@ class TestPortfolio(WebTest):
# Make sure the page loaded # Make sure the page loaded
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
# Verify that admin info is sent in the dynamic HTML # Verify that admin info is sent in the dynamic HTML
response = self.client.get(reverse("get_portfolio_members_json"), params={"portfolio": self.portfolio.id}) response = self.client.get(reverse("get_portfolio_members_json") + f"?portfolio={self.portfolio.pk}")
# TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"{response.content}") # TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, f"{response.content}")
self.assertContains(response, '"is_admin": true') self.assertContains(response, '"is_admin": true')