mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-25 03:58:39 +02:00
fix tests + cleanup
This commit is contained in:
parent
d52a44a744
commit
d2149484c9
4 changed files with 17 additions and 24 deletions
|
@ -98,28 +98,21 @@ export function initAddNewMemberPageListeners() {
|
|||
|
||||
// Get all permission sections (divs with h3 and radio inputs)
|
||||
const permissionSections = document.querySelectorAll(`#${permission_details_div_id} > h3`);
|
||||
console.log(`what is the id? ${permission_details_div_id}`)
|
||||
console.log(`what is the permissionSections? ${permissionSections}`)
|
||||
|
||||
permissionSections.forEach(section => {
|
||||
console.log(`what is the section? ${section}`)
|
||||
// Find the <h3> element text
|
||||
const sectionTitle = section.textContent;
|
||||
|
||||
// Find the associated radio buttons container (next fieldset)
|
||||
const fieldset = section.nextElementSibling;
|
||||
console.log(`what is the fieldset? ${fieldset}`)
|
||||
if (fieldset && fieldset.tagName.toLowerCase() === 'fieldset') {
|
||||
// Get the selected radio button within this fieldset
|
||||
const selectedRadio = fieldset.querySelector('input[type="radio"]:checked');
|
||||
console.log(`what is the selectedRadio? ${selectedRadio.id}`)
|
||||
// If a radio button is selected, get its label text
|
||||
let selectedPermission = "No permission selected";
|
||||
if (selectedRadio) {
|
||||
const label = fieldset.querySelector(`label[for="${selectedRadio.id}"]`);
|
||||
selectedPermission = label ? label.textContent : "No permission selected";
|
||||
}
|
||||
console.log(`what is the selectedPermission? ${selectedPermission}`)
|
||||
|
||||
// Create new elements for the modal content
|
||||
const titleElement = document.createElement("h4");
|
||||
|
@ -149,7 +142,7 @@ export function initAddNewMemberPageListeners() {
|
|||
|
||||
// Get selected radio button for access level
|
||||
let selectedAccess = document.querySelector('input[name="role"]:checked');
|
||||
console.log(`selectedAccess" ${selectedAccess} vs value ${selectedAccess.value}`)
|
||||
|
||||
// Set the selected permission text to 'Basic' or 'Admin' (the value of the selected radio button)
|
||||
// This value does not have the first letter capitalized so let's capitalize it
|
||||
let accessText = "No access level selected";
|
||||
|
|
|
@ -39,7 +39,6 @@ export function hookupYesNoListener(radioButtonName, elementIdToShowIfYes, eleme
|
|||
export function hookupRadioTogglerListener(radioButtonName, valueToElementMap) {
|
||||
// Get the radio buttons
|
||||
let radioButtons = document.querySelectorAll(`input[name="${radioButtonName}"]`);
|
||||
console.log(`what are the radio buttons? ${radioButtons} vs name: ${radioButtonName}`)
|
||||
|
||||
// Extract the list of all element IDs from the valueToElementMap
|
||||
let allElementIds = Object.values(valueToElementMap);
|
||||
|
@ -50,12 +49,10 @@ export function hookupRadioTogglerListener(radioButtonName, valueToElementMap) {
|
|||
let selectedValue = radioButtonChecked ? radioButtonChecked.value : null;
|
||||
|
||||
// Hide all elements by default
|
||||
console.log(`what are the elementids? ${allElementIds}`)
|
||||
allElementIds.forEach(function (elementId) {
|
||||
let element = document.getElementById(elementId);
|
||||
console.log(`id? ${elementId} what is the element? ${element}`)
|
||||
if (element) {
|
||||
hideElement(element);
|
||||
hideElement(element);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -124,6 +124,7 @@ class BasePortfolioMemberForm(forms.Form):
|
|||
)
|
||||
|
||||
domain_request_permission_admin = forms.ChoiceField(
|
||||
# nosec B308 - required_star is a hardcoded HTML string
|
||||
label=mark_safe(f"Select permission {required_star}"),
|
||||
choices=[
|
||||
(UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value, "View all requests"),
|
||||
|
@ -137,6 +138,7 @@ class BasePortfolioMemberForm(forms.Form):
|
|||
)
|
||||
|
||||
member_permission_admin = forms.ChoiceField(
|
||||
# nosec B308 - required_star is a hardcoded HTML string
|
||||
label=mark_safe(f"Select permission {required_star}"),
|
||||
choices=[
|
||||
(UserPortfolioPermissionChoices.VIEW_MEMBERS.value, "View all members"),
|
||||
|
@ -150,6 +152,7 @@ class BasePortfolioMemberForm(forms.Form):
|
|||
)
|
||||
|
||||
domain_request_permission_member = forms.ChoiceField(
|
||||
# nosec B308 - required_star is a hardcoded HTML string
|
||||
label=mark_safe(f"Select permission {required_star}"),
|
||||
choices=[
|
||||
(UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS.value, "View all requests"),
|
||||
|
|
|
@ -2568,17 +2568,19 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
|
|||
reverse("new-member"),
|
||||
{
|
||||
"role": "organization_member",
|
||||
"basic_org_domain_request_permissions": "view_only",
|
||||
"domain_request_permission_member": "view_all_requests",
|
||||
"email": self.new_member_email,
|
||||
},
|
||||
)
|
||||
|
||||
# Ensure the final submission is successful
|
||||
self.assertEqual(final_response.status_code, 302) # redirects after success
|
||||
|
||||
# Validate Database Changes
|
||||
portfolio_invite = PortfolioInvitation.objects.filter(
|
||||
email=self.new_member_email, portfolio=self.portfolio
|
||||
email=self.new_member_email,
|
||||
portfolio=self.portfolio,
|
||||
roles__exact=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER],
|
||||
additional_permissions__exact=[UserPortfolioPermissionChoices.VIEW_ALL_REQUESTS],
|
||||
).first()
|
||||
self.assertIsNotNone(portfolio_invite)
|
||||
self.assertEqual(portfolio_invite.email, self.new_member_email)
|
||||
|
@ -2601,14 +2603,13 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
|
|||
reverse("new-member"),
|
||||
{
|
||||
"role": "organization_member",
|
||||
"basic_org_domain_request_permissions": "view_only",
|
||||
"domain_request_permission_member": "view_all_requests",
|
||||
"email": self.invited_member_email,
|
||||
},
|
||||
)
|
||||
self.assertEqual(response.status_code, 302) # Redirects
|
||||
|
||||
# TODO: verify messages
|
||||
|
||||
# Unsucessful form submissions return the same page with a 200
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.context["form"].errors["email"][0], "An invitation already exists for this user.")
|
||||
# Validate Database has not changed
|
||||
invite_count_after = PortfolioInvitation.objects.count()
|
||||
self.assertEqual(invite_count_after, invite_count_before)
|
||||
|
@ -2631,13 +2632,12 @@ class TestPortfolioInviteNewMemberView(TestWithUser, WebTest):
|
|||
reverse("new-member"),
|
||||
{
|
||||
"role": "organization_member",
|
||||
"basic_org_domain_request_permissions": "view_only",
|
||||
"domain_request_permissions_member": "view_all_requests",
|
||||
"email": self.user.email,
|
||||
},
|
||||
)
|
||||
self.assertEqual(response.status_code, 302) # Redirects
|
||||
|
||||
# TODO: verify messages
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.context["form"].errors["email"][0], "User is already a member of this portfolio.")
|
||||
|
||||
# Validate Database has not changed
|
||||
invite_count_after = PortfolioInvitation.objects.count()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue