Improve titles, headers and tooltips in Add Password and Change Permissions (#4210)

# Description of Changes
Improve titles, headers and tooltips in Add Password and Change
Permissions
This commit is contained in:
James Brunton
2025-08-14 15:31:53 +01:00
committed by GitHub
parent ecf30d1028
commit 22db7bec76
11 changed files with 72 additions and 73 deletions

View File

@@ -63,8 +63,8 @@ describe('AddPasswordSettings', () => {
);
// Check that main section titles are rendered
expect(screen.getByText('mock-addPassword.passwords.title')).toBeInTheDocument();
expect(screen.getByText('mock-addPassword.encryption.title')).toBeInTheDocument();
expect(screen.getByText('mock-addPassword.passwords.user.label')).toBeInTheDocument();
expect(screen.getByText('mock-addPassword.encryption.keyLength.label')).toBeInTheDocument();
});
test('should call onParameterChange when password fields are modified', () => {
@@ -154,8 +154,6 @@ describe('AddPasswordSettings', () => {
);
// Verify that translation keys are being called
expect(mockT).toHaveBeenCalledWith('addPassword.passwords.title', 'Passwords');
expect(mockT).toHaveBeenCalledWith('addPassword.encryption.title', 'Encryption');
expect(mockT).toHaveBeenCalledWith('addPassword.passwords.user.label', 'User Password');
expect(mockT).toHaveBeenCalledWith('addPassword.passwords.owner.label', 'Owner Password');
});

View File

@@ -16,7 +16,6 @@ const AddPasswordSettings = ({ parameters, onParameterChange, disabled = false }
<Stack gap="md">
{/* Password Settings */}
<Stack gap="sm">
<Text size="sm" fw={500}>{t('addPassword.passwords.title', 'Passwords')}</Text>
<PasswordInput
label={t('addPassword.passwords.user.label', 'User Password')}
placeholder={t('addPassword.passwords.user.placeholder', 'Enter user password')}
@@ -35,9 +34,8 @@ const AddPasswordSettings = ({ parameters, onParameterChange, disabled = false }
{/* Encryption Settings */}
<Stack gap="sm">
<Text size="sm" fw={500}>{t('addPassword.encryption.title', 'Encryption')}</Text>
<Select
label={t('addPassword.encryption.keyLength.label', 'Key Length')}
label={t('addPassword.encryption.keyLength.label', 'Encryption Key Length')}
value={parameters.keyLength.toString()}
onChange={(value) => {
if (value) {

View File

@@ -23,19 +23,6 @@ describe('ChangePermissionsSettings', () => {
vi.clearAllMocks();
});
test('should render section title', () => {
render(
<TestWrapper>
<ChangePermissionsSettings
parameters={defaultParameters}
onParameterChange={mockOnParameterChange}
/>
</TestWrapper>
);
expect(screen.getByText('mock-changePermissions.restrictions.title')).toBeInTheDocument();
});
test('should render all permission checkboxes', () => {
render(
<TestWrapper>
@@ -52,10 +39,10 @@ describe('ChangePermissionsSettings', () => {
expect(checkboxes).toHaveLength(permissionKeys.length);
// Verify specific permission labels are rendered
expect(screen.getByText('mock-changePermissions.restrictions.preventAssembly.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.restrictions.preventPrinting.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.restrictions.preventModify.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.restrictions.preventExtractContent.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.permissions.preventAssembly.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.permissions.preventPrinting.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.permissions.preventModify.label')).toBeInTheDocument();
expect(screen.getByText('mock-changePermissions.permissions.preventExtractContent.label')).toBeInTheDocument();
});
test('should render all permission types with correct labels', () => {
@@ -71,7 +58,7 @@ describe('ChangePermissionsSettings', () => {
const permissionKeys = Object.keys(defaultParameters) as Array<keyof ChangePermissionsParameters>;
permissionKeys.forEach(permission => {
expect(screen.getByText(`mock-changePermissions.restrictions.${permission}.label`)).toBeInTheDocument();
expect(screen.getByText(`mock-changePermissions.permissions.${permission}.label`)).toBeInTheDocument();
});
});
@@ -109,10 +96,10 @@ describe('ChangePermissionsSettings', () => {
);
// Find specific checkboxes by their labels and verify they are checked
const assemblyCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventAssembly.label') as HTMLInputElement;
const printingCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventPrinting.label') as HTMLInputElement;
const modifyCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventModify.label') as HTMLInputElement;
const formCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventFillInForm.label') as HTMLInputElement;
const assemblyCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventAssembly.label') as HTMLInputElement;
const printingCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventPrinting.label') as HTMLInputElement;
const modifyCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventModify.label') as HTMLInputElement;
const formCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventFillInForm.label') as HTMLInputElement;
expect(assemblyCheckbox.checked).toBe(true);
expect(printingCheckbox.checked).toBe(true);
@@ -138,7 +125,7 @@ describe('ChangePermissionsSettings', () => {
</TestWrapper>
);
const assemblyCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventAssembly.label');
const assemblyCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventAssembly.label');
fireEvent.click(assemblyCheckbox);
expect(mockOnParameterChange).toHaveBeenCalledWith('preventAssembly', expectedValue);
@@ -155,8 +142,8 @@ describe('ChangePermissionsSettings', () => {
);
// Click multiple checkboxes
const assemblyCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventAssembly.label');
const printingCheckbox = screen.getByLabelText('mock-changePermissions.restrictions.preventPrinting.label');
const assemblyCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventAssembly.label');
const printingCheckbox = screen.getByLabelText('mock-changePermissions.permissions.preventPrinting.label');
fireEvent.click(assemblyCheckbox);
fireEvent.click(printingCheckbox);
@@ -196,12 +183,9 @@ describe('ChangePermissionsSettings', () => {
</TestWrapper>
);
// Verify that translation keys are being called
expect(mockT).toHaveBeenCalledWith('changePermissions.restrictions.title', 'Document Restrictions');
const permissionKeys = Object.keys(defaultParameters) as Array<keyof ChangePermissionsParameters>;
permissionKeys.forEach(permission => {
expect(mockT).toHaveBeenCalledWith(`changePermissions.restrictions.${permission}.label`, permission);
expect(mockT).toHaveBeenCalledWith(`changePermissions.permissions.${permission}.label`, permission);
});
});
@@ -220,7 +204,7 @@ describe('ChangePermissionsSettings', () => {
</TestWrapper>
);
const checkbox = screen.getByLabelText(`mock-changePermissions.restrictions.${permission}.label`) as HTMLInputElement;
const checkbox = screen.getByLabelText(`mock-changePermissions.permissions.${permission}.label`) as HTMLInputElement;
expect(checkbox.checked).toBe(true);
});
});

View File

@@ -13,13 +13,11 @@ const ChangePermissionsSettings = ({ parameters, onParameterChange, disabled = f
return (
<Stack gap="sm">
<Text size="sm" fw={500}>{t('changePermissions.restrictions.title', 'Document Restrictions')}</Text>
<Stack gap="xs">
{(Object.keys(parameters) as Array<keyof ChangePermissionsParameters>).map((key) => (
<Checkbox
key={key}
label={t(`changePermissions.restrictions.${key}.label`, key)}
label={t(`changePermissions.permissions.${key}.label`, key)}
checked={parameters[key]}
onChange={(e) => onParameterChange(key, e.target.checked)}
disabled={disabled}