Fix (some) test errors

This commit is contained in:
zandercymatics 2024-08-20 14:49:04 -06:00
parent 5c8ad8cd34
commit 9e1643edf0
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
4 changed files with 42 additions and 27 deletions

View file

@ -1149,7 +1149,8 @@ class TestPortfolioInvitations(TestCase):
@less_console_noise_decorator
def test_retrieval(self):
self.assertFalse(self.user.portfolio)
portfolio_role_exists = UserPortfolioPermission.objects.filter(user=self.user).exists()
self.assertFalse(portfolio_role_exists)
self.invitation.retrieve()
self.user.refresh_from_db()
self.assertEqual(self.user.last_selected_portfolio.organization_name, "Hotel California")
@ -1363,13 +1364,16 @@ class TestUser(TestCase):
Note: This tests _get_portfolio_permissions as a side effect
"""
portfolio, _ = Portfolio.objects.get_or_create(creator=self.user, organization_name="Hotel California")
self.user.last_selected_portfolio = portfolio
self.user.save()
self.user.refresh_from_db()
user_can_view_all_domains = self.user.has_domains_portfolio_permission()
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission()
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)
self.assertFalse(user_can_view_all_domains)
self.assertFalse(user_can_view_all_requests)
@ -1380,8 +1384,13 @@ class TestUser(TestCase):
portfolio_permission.refresh_from_db()
self.user.refresh_from_db()
user_can_view_all_domains = self.user.has_domains_portfolio_permission()
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission()
# 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)
self.assertTrue(user_can_view_all_domains)
self.assertFalse(user_can_view_all_requests)
@ -1392,18 +1401,28 @@ class TestUser(TestCase):
portfolio_permission.refresh_from_db()
self.user.refresh_from_db()
user_can_view_all_domains = self.user.has_domains_portfolio_permission()
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission()
# 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)
self.assertTrue(user_can_view_all_domains)
self.assertTrue(user_can_view_all_requests)
UserDomainRole.objects.all().get_or_create(
UserDomainRole.objects.get_or_create(
user=self.user, domain=self.domain, role=UserDomainRole.Roles.MANAGER
)
user_can_view_all_domains = self.user.has_domains_portfolio_permission()
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission()
# 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)
self.assertTrue(user_can_view_all_domains)
self.assertTrue(user_can_view_all_requests)
@ -1431,12 +1450,8 @@ class TestUser(TestCase):
@less_console_noise_decorator
def test_user_with_portfolio_roles_but_no_portfolio(self):
# Create an instance of User with a portfolio role but no portfolio
self.user.portfolio = None
self.user.portfolio_roles = [UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
portfolio, _ = Portfolio.objects.get_or_create(creator=self.user, organization_name="Hotel California")
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(portfolio=portfolio, user=self.user)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(portfolio=portfolio, user=self.user, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN])
# Try to remove the portfolio
portfolio_permission.portfolio = None

View file

@ -345,6 +345,7 @@ class ExportDataTest(MockDbForIndividualTests, MockEppLib):
factory = RequestFactory()
request = factory.get("/")
request.user = self.user
request.session = {}
# Get the csv content
csv_content = self._run_domain_data_type_user_export(request)

View file

@ -329,9 +329,8 @@ class TestDomainDetail(TestDomainOverview):
email="bogus@example.gov",
phone="8003111234",
title="test title",
last_selected_portfolio=portfolio,
)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=user, portfolio=portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN])
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)
self.client.force_login(user)
@ -1572,7 +1571,7 @@ 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, roles=[UserPortfolioRoleChoices.VIEW_PORTFOLIO])
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO])
# Navigate to the domain overview page
page = self.app.get(reverse("domain", kwargs={"pk": self.domain.id}))

View file

@ -31,6 +31,7 @@ class TestPortfolio(WebTest):
)
def tearDown(self):
UserPortfolioPermission.objects.all().delete()
Portfolio.objects.all().delete()
UserDomainRole.objects.all().delete()
DomainRequest.objects.all().delete()
@ -85,7 +86,6 @@ class TestPortfolio(WebTest):
def test_middleware_does_not_redirect_if_no_portfolio(self):
"""Test that user with no assigned portfolio is not redirected when attempting to access home"""
self.app.set_user(self.user.username)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO])
with override_flag("organization_feature", active=True):
# This will redirect the user to the portfolio page.
# Follow implicity checks if our redirect is working.
@ -97,7 +97,7 @@ class TestPortfolio(WebTest):
def test_middleware_redirects_to_portfolio_organization_page(self):
"""Test that user with a portfolio and VIEW_PORTFOLIO is redirected to portfolio organization page"""
self.app.set_user(self.user.username)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO])
UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO])
with override_flag("organization_feature", active=True):
# This will redirect the user to the portfolio page.
# Follow implicity checks if our redirect is working.
@ -111,7 +111,7 @@ class TestPortfolio(WebTest):
"""Test that user with a portfolio, VIEW_PORTFOLIO, VIEW_ALL_DOMAINS
is redirected to portfolio domains page"""
self.app.set_user(self.user.username)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO, UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS])
UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[UserPortfolioPermissionChoices.VIEW_PORTFOLIO, UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS])
with override_flag("organization_feature", active=True):
# This will redirect the user to the portfolio page.
# Follow implicity checks if our redirect is working.
@ -125,7 +125,7 @@ class TestPortfolio(WebTest):
def test_portfolio_domains_page_403_when_user_not_have_permission(self):
"""Test that user without proper permission is denied access to portfolio domain view"""
self.app.set_user(self.user.username)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[])
UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[])
with override_flag("organization_feature", active=True):
# This will redirect the user to the portfolio page.
# Follow implicity checks if our redirect is working.
@ -137,7 +137,7 @@ class TestPortfolio(WebTest):
def test_portfolio_domain_requests_page_403_when_user_not_have_permission(self):
"""Test that user without proper permission is denied access to portfolio domain view"""
self.app.set_user(self.user.username)
portfolio_permission, _ = UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[])
UserPortfolioPermission.objects.get_or_create(user=self.user, portfolio=self.portfolio, additional_permissions=[])
with override_flag("organization_feature", active=True):
# This will redirect the user to the portfolio page.
# Follow implicity checks if our redirect is working.