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 @less_console_noise_decorator
def test_retrieval(self): 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.invitation.retrieve()
self.user.refresh_from_db() self.user.refresh_from_db()
self.assertEqual(self.user.last_selected_portfolio.organization_name, "Hotel California") 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 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() portfolio, _ = Portfolio.objects.get_or_create(creator=self.user, organization_name="Hotel California")
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.assertFalse(user_can_view_all_domains) self.assertFalse(user_can_view_all_domains)
self.assertFalse(user_can_view_all_requests) self.assertFalse(user_can_view_all_requests)
@ -1380,8 +1384,13 @@ class TestUser(TestCase):
portfolio_permission.refresh_from_db() portfolio_permission.refresh_from_db()
self.user.refresh_from_db() self.user.refresh_from_db()
user_can_view_all_domains = self.user.has_domains_portfolio_permission() # Create a dummy request
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission() 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_domains)
self.assertFalse(user_can_view_all_requests) self.assertFalse(user_can_view_all_requests)
@ -1392,18 +1401,28 @@ class TestUser(TestCase):
portfolio_permission.refresh_from_db() portfolio_permission.refresh_from_db()
self.user.refresh_from_db() self.user.refresh_from_db()
user_can_view_all_domains = self.user.has_domains_portfolio_permission() # Create a dummy request
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission() 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_domains)
self.assertTrue(user_can_view_all_requests) 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=self.user, domain=self.domain, role=UserDomainRole.Roles.MANAGER
) )
user_can_view_all_domains = self.user.has_domains_portfolio_permission() # Create a dummy request
user_can_view_all_requests = self.user.has_domain_requests_portfolio_permission() 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_domains)
self.assertTrue(user_can_view_all_requests) self.assertTrue(user_can_view_all_requests)
@ -1431,12 +1450,8 @@ class TestUser(TestCase):
@less_console_noise_decorator @less_console_noise_decorator
def test_user_with_portfolio_roles_but_no_portfolio(self): 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, _ = 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 # Try to remove the portfolio
portfolio_permission.portfolio = None portfolio_permission.portfolio = None

View file

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

View file

@ -329,9 +329,8 @@ class TestDomainDetail(TestDomainOverview):
email="bogus@example.gov", email="bogus@example.gov",
phone="8003111234", phone="8003111234",
title="test title", 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") domain, _ = Domain.objects.get_or_create(name="bogusdomain.gov")
DomainInformation.objects.get_or_create(creator=user, domain=domain, portfolio=portfolio) DomainInformation.objects.get_or_create(creator=user, domain=domain, portfolio=portfolio)
self.client.force_login(user) self.client.force_login(user)
@ -1572,7 +1571,7 @@ class TestDomainSuborganization(TestDomainOverview):
self.domain_information.refresh_from_db() self.domain_information.refresh_from_db()
# Add portfolio perms to the user object # 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 # Navigate to the domain overview page
page = self.app.get(reverse("domain", kwargs={"pk": self.domain.id})) page = self.app.get(reverse("domain", kwargs={"pk": self.domain.id}))

View file

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