Skip to content

Commit 64eb726

Browse files
committed
refactor: use i18n for alt and remove data-testid
1 parent 5177e9d commit 64eb726

4 files changed

Lines changed: 23 additions & 33 deletions

File tree

src/authz-module/components/RoleCard/index.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ describe('RoleCard', () => {
5656
expect(screen.getByText('Can manage everything')).toBeInTheDocument();
5757

5858
// Delete button
59-
expect(screen.getByRole('button', { name: /delete role action/i })).toBeInTheDocument();
59+
expect(screen.getByRole('button', { name: /Delete role action/i })).toBeInTheDocument();
6060

6161
// Collapsible title
6262
expect(screen.getByText('Permissions')).toBeInTheDocument();

src/authz-module/components/RoleCard/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ const RoleCard = ({
4242
subtitle={(objectName && <span className="text-info-400 lead">{objectName}</span>) || ''}
4343
actions={
4444
handleDelete && (
45-
<IconButton variant="danger" onClick={handleDelete} alt="Delete role action" src={Delete} />
45+
<IconButton variant="danger" onClick={handleDelete} alt={intl.formatMessage(messages['authz.role.card.delete.action.alt'])} src={Delete} />
4646
)
4747
}
4848
/>

src/authz-module/components/RoleCard/messages.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ const messages = defineMessages({
4646
defaultMessage: 'Reuse {resource}',
4747
description: 'Default label for the reuse action',
4848
},
49+
'authz.role.card.delete.action.alt': {
50+
id: 'authz.role.card.delete.action.alt',
51+
defaultMessage: 'Delete role action',
52+
description: 'Alt description for delete button',
53+
},
4954
});
5055

5156
export default messages;

src/authz-module/libraries-manager/LibrariesUserManager.test.tsx

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,20 @@ jest.mock('../components/RoleCard', () => ({
3737
description: string;
3838
handleDelete?: () => void;
3939
}) => (
40-
<div data-testid="role-card">
40+
<div role='card'>
4141
<div>{title}</div>
4242
<div>{description}</div>
4343
{handleDelete && (
44-
<button type="button" onClick={handleDelete} data-testid={`delete-role-${title}`}>
45-
Delete
44+
<button type="button" onClick={handleDelete}>
45+
{`delete-role-${title}`}
4646
</button>
4747
)}
4848
</div>
4949
),
5050
}));
5151

5252
jest.mock('./components/AssignNewRoleModal', () => ({
53-
AssignNewRoleTrigger: () => (
54-
<button type="button" data-testid="assign-role-trigger">
55-
Assign Role
56-
</button>
57-
),
53+
AssignNewRoleTrigger: () => <button type="button">Assign Role</button>,
5854
}));
5955

6056
describe('LibrariesUserManager', () => {
@@ -140,7 +136,7 @@ describe('LibrariesUserManager', () => {
140136
expect(screen.getByRole('heading', { level: 1 })).toHaveTextContent('testuser');
141137
expect(screen.getByRole('paragraph')).toHaveTextContent('[email protected]');
142138

143-
const roleCards = screen.getAllByTestId('role-card');
139+
const roleCards = screen.getAllByRole('card');
144140
expect(roleCards).toHaveLength(2);
145141

146142
defaultMockData.roles.forEach((role) => {
@@ -152,26 +148,15 @@ describe('LibrariesUserManager', () => {
152148
it('renders assign role trigger when user has canManageTeam permission', () => {
153149
renderComponent();
154150

155-
expect(screen.getByTestId('assign-role-trigger')).toBeInTheDocument();
156-
});
157-
158-
it('does not render assign role trigger when user does not have canManageTeam permission', () => {
159-
(useLibraryAuthZ as jest.Mock).mockReturnValue({
160-
...defaultMockData,
161-
canManageTeam: false,
162-
});
163-
164-
renderComponent();
165-
166-
expect(screen.queryByTestId('assign-role-trigger')).not.toBeInTheDocument();
151+
expect(screen.getByText('Assign Role')).toBeInTheDocument();
167152
});
168153

169154
describe('Revoking User Role Flow', () => {
170155
it('opens confirmation modal when delete role button is clicked', async () => {
171156
const user = userEvent.setup();
172157
renderComponent();
173158

174-
const deleteButton = screen.getByTestId('delete-role-Admin');
159+
const deleteButton = screen.getByText('delete-role-Admin');
175160
await user.click(deleteButton);
176161

177162
await waitFor(() => {
@@ -183,7 +168,7 @@ describe('LibrariesUserManager', () => {
183168
const user = userEvent.setup();
184169
renderComponent();
185170

186-
const deleteButton = screen.getByTestId('delete-role-Admin');
171+
const deleteButton = screen.getByText('delete-role-Admin');
187172
await user.click(deleteButton);
188173

189174
await waitFor(() => {
@@ -197,7 +182,7 @@ describe('LibrariesUserManager', () => {
197182
const user = userEvent.setup();
198183
renderComponent();
199184

200-
const deleteButton = screen.getByTestId('delete-role-Admin');
185+
const deleteButton = screen.getByText('delete-role-Admin');
201186
await user.click(deleteButton);
202187

203188
await waitFor(() => {
@@ -216,7 +201,7 @@ describe('LibrariesUserManager', () => {
216201
const user = userEvent.setup();
217202
renderComponent();
218203

219-
const deleteButton = screen.getByTestId('delete-role-Admin');
204+
const deleteButton = screen.getByText('delete-role-Admin');
220205
await user.click(deleteButton);
221206

222207
await waitFor(() => {
@@ -245,7 +230,7 @@ describe('LibrariesUserManager', () => {
245230
const user = userEvent.setup();
246231
renderComponent();
247232

248-
const deleteButton = screen.getByTestId('delete-role-Admin');
233+
const deleteButton = screen.getByText('delete-role-Admin');
249234
await user.click(deleteButton);
250235

251236
await waitFor(() => {
@@ -282,7 +267,7 @@ describe('LibrariesUserManager', () => {
282267

283268
renderComponent();
284269

285-
const deleteButton = screen.getByTestId('delete-role-Admin');
270+
const deleteButton = screen.getByText('delete-role-Admin');
286271
await user.click(deleteButton);
287272

288273
await waitFor(() => {
@@ -304,7 +289,7 @@ describe('LibrariesUserManager', () => {
304289
const user = userEvent.setup();
305290
renderComponent();
306291

307-
const deleteButton = screen.getByTestId('delete-role-Admin');
292+
const deleteButton = screen.getByText('delete-role-Admin');
308293
await user.click(deleteButton);
309294

310295
await waitFor(() => {
@@ -326,7 +311,7 @@ describe('LibrariesUserManager', () => {
326311
const user = userEvent.setup();
327312
renderComponent();
328313

329-
const deleteButton = screen.getByTestId('delete-role-Admin');
314+
const deleteButton = screen.getByText('delete-role-Admin');
330315
await user.click(deleteButton);
331316

332317
await waitFor(() => {
@@ -354,7 +339,7 @@ describe('LibrariesUserManager', () => {
354339

355340
renderComponent();
356341

357-
const deleteButton = screen.getByTestId('delete-role-Admin');
342+
const deleteButton = screen.getByText('delete-role-Admin');
358343
await user.click(deleteButton);
359344

360345
expect(screen.queryByText('Remove role?')).not.toBeInTheDocument();
@@ -365,7 +350,7 @@ describe('LibrariesUserManager', () => {
365350
const user = userEvent.setup();
366351
renderComponent();
367352

368-
const deleteButton = screen.getByTestId('delete-role-Instructor');
353+
const deleteButton = screen.getByText('delete-role-Instructor');
369354
await user.click(deleteButton);
370355

371356
await waitFor(() => {

0 commit comments

Comments
 (0)