mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-31 15:06:32 +02:00
lint and test
This commit is contained in:
parent
c47c7ca6bd
commit
535a41c13e
4 changed files with 30 additions and 23 deletions
|
@ -4,7 +4,6 @@ import logging
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.core.validators import RegexValidator
|
from django.core.validators import RegexValidator
|
||||||
from django.core.validators import MaxLengthValidator
|
from django.core.validators import MaxLengthValidator
|
||||||
from django.utils.safestring import mark_safe
|
|
||||||
|
|
||||||
from registrar.forms.utility.combobox import ComboboxWidget
|
from registrar.forms.utility.combobox import ComboboxWidget
|
||||||
from registrar.models import (
|
from registrar.models import (
|
||||||
|
@ -143,7 +142,6 @@ class BasePortfolioMemberForm(forms.ModelForm):
|
||||||
("no_access", "No access"),
|
("no_access", "No access"),
|
||||||
(UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value, "Viewer"),
|
(UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value, "Viewer"),
|
||||||
(UserPortfolioPermissionChoices.EDIT_REQUESTS.value, "Creator"),
|
(UserPortfolioPermissionChoices.EDIT_REQUESTS.value, "Creator"),
|
||||||
|
|
||||||
],
|
],
|
||||||
widget=forms.RadioSelect,
|
widget=forms.RadioSelect,
|
||||||
required=False,
|
required=False,
|
||||||
|
@ -166,7 +164,6 @@ class BasePortfolioMemberForm(forms.ModelForm):
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Tracks what form elements are required for a given role choice.
|
# Tracks what form elements are required for a given role choice.
|
||||||
# All of the fields included here have "required=False" by default as they are conditionally required.
|
# All of the fields included here have "required=False" by default as they are conditionally required.
|
||||||
# see def clean() for more details.
|
# see def clean() for more details.
|
||||||
|
@ -191,20 +188,22 @@ class BasePortfolioMemberForm(forms.ModelForm):
|
||||||
Update field descriptions.
|
Update field descriptions.
|
||||||
"""
|
"""
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
# Adds a <p> description beneath each option
|
# Adds a <p> description beneath each option
|
||||||
self.fields["domain_permissions"].descriptions = {
|
self.fields["domain_permissions"].descriptions = {
|
||||||
UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS.value: "Can view only the domains they manage",
|
UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS.value: "Can view only the domains they manage",
|
||||||
UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value: "Can view all domains for the organization",
|
UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value: "Can view all domains for the organization",
|
||||||
}
|
}
|
||||||
self.fields["domain_request_permissions"].descriptions = {
|
self.fields["domain_request_permissions"].descriptions = {
|
||||||
UserPortfolioPermissionChoices.EDIT_REQUESTS.value: "Can view all domain requests for the organization and create requests",
|
UserPortfolioPermissionChoices.EDIT_REQUESTS.value: (
|
||||||
|
"Can view all domain requests for the organization and create requests"
|
||||||
|
),
|
||||||
UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value: "Can view all domain requests for the organization",
|
UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value: "Can view all domain requests for the organization",
|
||||||
"no_access": "Cannot view or create domain requests"
|
"no_access": "Cannot view or create domain requests",
|
||||||
}
|
}
|
||||||
self.fields["member_permissions"].descriptions = {
|
self.fields["member_permissions"].descriptions = {
|
||||||
UserPortfolioPermissionChoices.VIEW_MEMBERS.value: "Can view all members permissions",
|
UserPortfolioPermissionChoices.VIEW_MEMBERS.value: "Can view all members permissions",
|
||||||
"no_access": "Cannot view member permissions"
|
"no_access": "Cannot view member permissions",
|
||||||
}
|
}
|
||||||
|
|
||||||
# Map model instance values to custom form fields
|
# Map model instance values to custom form fields
|
||||||
|
@ -299,9 +298,15 @@ class BasePortfolioMemberForm(forms.ModelForm):
|
||||||
self.initial["role"] = selected_role
|
self.initial["role"] = selected_role
|
||||||
is_member = selected_role == UserPortfolioRoleChoices.ORGANIZATION_MEMBER
|
is_member = selected_role == UserPortfolioRoleChoices.ORGANIZATION_MEMBER
|
||||||
if is_member:
|
if is_member:
|
||||||
# Edgecase: Member and domain request use a special form value for None called "no_access". This ensures a form selection.
|
# Edgecase: Member and domain request use a special form value for None called "no_access".
|
||||||
selected_domain_permission = next((perm for perm in domain_perms if perm in perms), UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS.value)
|
# This ensures a form selection.
|
||||||
selected_domain_request_permission = next((perm for perm in domain_request_perms if perm in perms), "no_access")
|
selected_domain_permission = next(
|
||||||
|
(perm for perm in domain_perms if perm in perms),
|
||||||
|
UserPortfolioPermissionChoices.VIEW_MANAGED_DOMAINS.value,
|
||||||
|
)
|
||||||
|
selected_domain_request_permission = next(
|
||||||
|
(perm for perm in domain_request_perms if perm in perms), "no_access"
|
||||||
|
)
|
||||||
selected_member_permission = next((perm for perm in member_perms if perm in perms), "no_access")
|
selected_member_permission = next((perm for perm in member_perms if perm in perms), "no_access")
|
||||||
self.initial["domain_request_permissions"] = selected_domain_request_permission
|
self.initial["domain_request_permissions"] = selected_domain_request_permission
|
||||||
self.initial["domain_permissions"] = selected_domain_permission
|
self.initial["domain_permissions"] = selected_domain_permission
|
||||||
|
|
|
@ -572,14 +572,18 @@ class TestBasePortfolioMemberForms(TestCase):
|
||||||
form = self._assert_form_is_valid(PortfolioMemberForm, data, user_portfolio_permission)
|
form = self._assert_form_is_valid(PortfolioMemberForm, data, user_portfolio_permission)
|
||||||
cleaned_data = form.cleaned_data
|
cleaned_data = form.cleaned_data
|
||||||
self.assertEqual(cleaned_data["roles"], [UserPortfolioRoleChoices.ORGANIZATION_MEMBER.value])
|
self.assertEqual(cleaned_data["roles"], [UserPortfolioRoleChoices.ORGANIZATION_MEMBER.value])
|
||||||
self.assertEqual(cleaned_data["domain_request_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value)
|
self.assertEqual(
|
||||||
|
cleaned_data["domain_request_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value
|
||||||
|
)
|
||||||
self.assertEqual(cleaned_data["domain_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value)
|
self.assertEqual(cleaned_data["domain_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value)
|
||||||
self.assertEqual(cleaned_data["member_permissions"], UserPortfolioPermissionChoices.VIEW_MEMBERS.value)
|
self.assertEqual(cleaned_data["member_permissions"], UserPortfolioPermissionChoices.VIEW_MEMBERS.value)
|
||||||
|
|
||||||
form = self._assert_form_is_valid(PortfolioInvitedMemberForm, data, portfolio_invitation)
|
form = self._assert_form_is_valid(PortfolioInvitedMemberForm, data, portfolio_invitation)
|
||||||
cleaned_data = form.cleaned_data
|
cleaned_data = form.cleaned_data
|
||||||
self.assertEqual(cleaned_data["roles"], [UserPortfolioRoleChoices.ORGANIZATION_MEMBER.value])
|
self.assertEqual(cleaned_data["roles"], [UserPortfolioRoleChoices.ORGANIZATION_MEMBER.value])
|
||||||
self.assertEqual(cleaned_data["domain_request_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value)
|
self.assertEqual(
|
||||||
|
cleaned_data["domain_request_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value
|
||||||
|
)
|
||||||
self.assertEqual(cleaned_data["domain_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value)
|
self.assertEqual(cleaned_data["domain_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value)
|
||||||
self.assertEqual(cleaned_data["member_permissions"], UserPortfolioPermissionChoices.VIEW_MEMBERS.value)
|
self.assertEqual(cleaned_data["member_permissions"], UserPortfolioPermissionChoices.VIEW_MEMBERS.value)
|
||||||
|
|
||||||
|
@ -595,7 +599,9 @@ class TestBasePortfolioMemberForms(TestCase):
|
||||||
form = self._assert_form_is_valid(PortfolioNewMemberForm, data)
|
form = self._assert_form_is_valid(PortfolioNewMemberForm, data)
|
||||||
cleaned_data = form.cleaned_data
|
cleaned_data = form.cleaned_data
|
||||||
self.assertEqual(cleaned_data["roles"], [UserPortfolioRoleChoices.ORGANIZATION_MEMBER.value])
|
self.assertEqual(cleaned_data["roles"], [UserPortfolioRoleChoices.ORGANIZATION_MEMBER.value])
|
||||||
self.assertEqual(cleaned_data["domain_request_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value)
|
self.assertEqual(
|
||||||
|
cleaned_data["domain_request_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value
|
||||||
|
)
|
||||||
self.assertEqual(cleaned_data["domain_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value)
|
self.assertEqual(cleaned_data["domain_permissions"], UserPortfolioPermissionChoices.VIEW_ALL_DOMAINS.value)
|
||||||
self.assertEqual(cleaned_data["member_permissions"], UserPortfolioPermissionChoices.VIEW_MEMBERS.value)
|
self.assertEqual(cleaned_data["member_permissions"], UserPortfolioPermissionChoices.VIEW_MEMBERS.value)
|
||||||
|
|
||||||
|
|
|
@ -885,7 +885,7 @@ class MemberExportTest(MockDbForIndividualTests, MockEppLib):
|
||||||
"big_lebowski@dude.co,False,help@get.gov,2022-04-01,Invalid date,None,"
|
"big_lebowski@dude.co,False,help@get.gov,2022-04-01,Invalid date,None,"
|
||||||
"Viewer,True,1,cdomain1.gov\n"
|
"Viewer,True,1,cdomain1.gov\n"
|
||||||
"cozy_staffuser@igorville.gov,True,help@get.gov,2022-04-01,2024-02-01,"
|
"cozy_staffuser@igorville.gov,True,help@get.gov,2022-04-01,2024-02-01,"
|
||||||
"Viewer,Viewer,False,0,\n"
|
"Viewer Requester,Manager,False,0,\n"
|
||||||
"icy_superuser@igorville.gov,True,help@get.gov,2022-04-01,2024-02-01,"
|
"icy_superuser@igorville.gov,True,help@get.gov,2022-04-01,2024-02-01,"
|
||||||
"Viewer Requester,Manager,False,0,\n"
|
"Viewer Requester,Manager,False,0,\n"
|
||||||
"meoward@rocks.com,False,big_lebowski@dude.co,2022-04-01,Invalid date,None,"
|
"meoward@rocks.com,False,big_lebowski@dude.co,2022-04-01,Invalid date,None,"
|
||||||
|
@ -899,7 +899,7 @@ class MemberExportTest(MockDbForIndividualTests, MockEppLib):
|
||||||
"nonexistentmember_4@igorville.gov,True,help@get.gov,Unretrieved,Invited,"
|
"nonexistentmember_4@igorville.gov,True,help@get.gov,Unretrieved,Invited,"
|
||||||
"Viewer Requester,Manager,False,0,\n"
|
"Viewer Requester,Manager,False,0,\n"
|
||||||
"nonexistentmember_5@igorville.gov,True,help@get.gov,Unretrieved,Invited,"
|
"nonexistentmember_5@igorville.gov,True,help@get.gov,Unretrieved,Invited,"
|
||||||
"Viewer,Viewer,False,0,\n"
|
"Viewer Requester,Manager,False,0,\n"
|
||||||
"tired_sleepy@igorville.gov,False,System,2022-04-01,Invalid date,Viewer,"
|
"tired_sleepy@igorville.gov,False,System,2022-04-01,Invalid date,Viewer,"
|
||||||
"None,False,0,\n"
|
"None,False,0,\n"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1422,7 +1422,7 @@ class TestPortfolio(WebTest):
|
||||||
permission = UserPortfolioPermission.objects.get(user=self.user, portfolio=self.portfolio)
|
permission = UserPortfolioPermission.objects.get(user=self.user, portfolio=self.portfolio)
|
||||||
|
|
||||||
# Update to basic member with view members permission
|
# Update to basic member with view members permission
|
||||||
permission.roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
|
permission.roles = [UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
|
||||||
permission.additional_permissions = [
|
permission.additional_permissions = [
|
||||||
UserPortfolioPermissionChoices.VIEW_MEMBERS,
|
UserPortfolioPermissionChoices.VIEW_MEMBERS,
|
||||||
]
|
]
|
||||||
|
@ -3564,14 +3564,10 @@ class TestEditPortfolioMemberView(WebTest):
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
response.context["form"].errors["domain_request_permissions"][0],
|
response.context["form"].errors["domain_request_permissions"][0],
|
||||||
"Domain request permission is required",
|
"Domain request permission is required.",
|
||||||
)
|
|
||||||
self.assertEqual(
|
|
||||||
response.context["form"].errors["member_permissions"][0], "Member permission is required"
|
|
||||||
)
|
|
||||||
self.assertEqual(
|
|
||||||
response.context["form"].errors["domain_permissions"][0], "Domain permission is required"
|
|
||||||
)
|
)
|
||||||
|
self.assertEqual(response.context["form"].errors["member_permissions"][0], "Member permission is required.")
|
||||||
|
self.assertEqual(response.context["form"].errors["domain_permissions"][0], "Domain permission is required.")
|
||||||
|
|
||||||
@less_console_noise_decorator
|
@less_console_noise_decorator
|
||||||
@override_flag("organization_feature", active=True)
|
@override_flag("organization_feature", active=True)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue