Fix a few more tests

This commit is contained in:
zandercymatics 2024-08-21 12:12:50 -06:00
parent 32ed84a5e1
commit bfc2693a12
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
3 changed files with 37 additions and 45 deletions

View file

@ -30,6 +30,7 @@ from registrar.utility.constants import BranchChoices
from .common import (
MockSESClient,
get_wsgi_request_object,
less_console_noise,
completed_domain_request,
set_domain_request_investigators,
@ -1369,60 +1370,50 @@ class TestUser(TestCase):
portfolio, _ = Portfolio.objects.get_or_create(creator=self.user, organization_name="Hotel California")
# Create a dummy request
request = self.factory.get("/")
request.user = self.user
request.session = {}
user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
# TODO - uncomment this when we just pass request to these functions
# request = get_wsgi_request_object(self.client, self.user)
# user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
# user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
user_can_view_all_domains = self.user.has_domains_portfolio_permission(portfolio)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(portfolio)
self.assertFalse(user_can_view_all_domains)
self.assertFalse(user_can_view_all_requests)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(portfolio=portfolio, user=self.user)
portfolio_permission.additional_permissions = [UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS]
portfolio_permission.save()
portfolio_permission.refresh_from_db()
self.user.refresh_from_db()
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(portfolio=portfolio, user=self.user, additional_permissions = [UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS])
# Create a dummy request
request = self.factory.get("/")
request.user = self.user
request.session = {}
user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
# TODO - uncomment this when we just pass request to these functions
# request = get_wsgi_request_object(self.client, self.user)
# user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
# user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
user_can_view_all_domains = self.user.has_domains_portfolio_permission(portfolio)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(portfolio)
self.assertTrue(user_can_view_all_domains)
self.assertFalse(user_can_view_all_requests)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(portfolio=portfolio, user=self.user)
portfolio_permission.roles = [UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
portfolio_permission.save()
portfolio_permission.refresh_from_db()
self.user.refresh_from_db()
# Create a dummy request
request = self.factory.get("/")
request.user = self.user
request.session = {}
user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
# TODO - uncomment this when we just pass request to these functions
# request = get_wsgi_request_object(self.client, self.user)
# user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
# user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
user_can_view_all_domains = self.user.has_domains_portfolio_permission(portfolio)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(portfolio)
self.assertTrue(user_can_view_all_domains)
self.assertTrue(user_can_view_all_requests)
UserDomainRole.objects.get_or_create(user=self.user, domain=self.domain, role=UserDomainRole.Roles.MANAGER)
# Create a dummy request
request = self.factory.get("/")
request.user = self.user
request.session = {}
user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
# TODO - uncomment this when we just pass request to these functions
# request = get_wsgi_request_object(self.client, self.user)
# user_can_view_all_domains = self.user.has_domains_portfolio_permission(request)
# user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(request)
user_can_view_all_domains = self.user.has_domains_portfolio_permission(portfolio)
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission(portfolio)
self.assertTrue(user_can_view_all_domains)
self.assertTrue(user_can_view_all_requests)

View file

@ -317,6 +317,7 @@ class TestDomainDetail(TestDomainOverview):
self.assertContains(detail_page, "Domain missing domain information")
@less_console_noise_decorator
@override_flag("organization_feature", active=True)
def test_domain_readonly_on_detail_page(self):
"""Test that a domain, which is part of a portfolio, but for which the user is not a domain manager,
properly displays read only"""
@ -330,11 +331,13 @@ class TestDomainDetail(TestDomainOverview):
phone="8003111234",
title="test title",
)
domain, _ = Domain.objects.get_or_create(name="bogusdomain.gov")
DomainInformation.objects.get_or_create(creator=user, domain=domain, portfolio=portfolio)
UserPortfolioPermission.objects.get_or_create(
user=user, portfolio=portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
)
domain, _ = Domain.objects.get_or_create(name="bogusdomain.gov")
DomainInformation.objects.get_or_create(creator=user, domain=domain, portfolio=portfolio)
user.refresh_from_db()
self.client.force_login(user)
detail_page = self.client.get(f"/domain/{domain.id}")
# Check that alert message displays properly
@ -1577,9 +1580,10 @@ class TestDomainSuborganization(TestDomainOverview):
self.domain_information.refresh_from_db()
# Add portfolio perms to the user object
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(
user=self.user, portfolio=portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO]
UserPortfolioPermission.objects.get_or_create(
user=self.user, portfolio=portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
)
self.user.refresh_from_db()
# Navigate to the domain overview page
page = self.app.get(reverse("domain", kwargs={"pk": self.domain.id}))

View file

@ -252,12 +252,9 @@ class TestPortfolio(WebTest):
# removing non-basic portfolio perms, which should remove domains
# and domain requests from nav
portfolio_additional_permissions = [UserPortfolioPermissionChoices.VIEW_PORTFOLIO]
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(
user=self.user, portfolio=self.portfolio, additional_permissions=portfolio_additional_permissions
)
self.user.save()
self.user.refresh_from_db()
portfolio_permission.additional_permissions = [UserPortfolioPermissionChoices.VIEW_PORTFOLIO]
portfolio_permission.save()
portfolio_permission.refresh_from_db()
portfolio_page = self.app.get(reverse("home")).follow()