feat(frontend): i18n MITRE components (matrix modal, picker, field, tag)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -48,7 +48,7 @@ describe('MitreTechniquesField', () => {
|
||||
renderWithProviders(
|
||||
<MitreTechniquesField value={[]} tactics={[]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
expect(screen.getByText(/No techniques selected/i)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Aucune technique associée/i)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders technique tags for each technique', () => {
|
||||
@@ -72,16 +72,16 @@ describe('MitreTechniquesField', () => {
|
||||
renderWithProviders(
|
||||
<MitreTechniquesField value={[]} tactics={[]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
expect(screen.getByRole('button', { name: /Open MITRE matrix/i })).toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: /Ouvrir la matrice/i })).toBeInTheDocument();
|
||||
// The search placeholder button
|
||||
expect(screen.getByRole('button', { name: /Search technique/i })).toBeInTheDocument();
|
||||
expect(screen.getByRole('button', { name: /Rechercher une technique/i })).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('hides input row when disabled', () => {
|
||||
renderWithProviders(
|
||||
<MitreTechniquesField value={[T1059]} tactics={[]} simulationId={7} engagementId={42} disabled />,
|
||||
);
|
||||
expect(screen.queryByRole('button', { name: /Open MITRE matrix/i })).toBeNull();
|
||||
expect(screen.queryByRole('button', { name: /Ouvrir la matrice/i })).toBeNull();
|
||||
});
|
||||
|
||||
it('× button on technique tag calls PATCH with technique removed', async () => {
|
||||
@@ -94,7 +94,7 @@ describe('MitreTechniquesField', () => {
|
||||
<MitreTechniquesField value={[T1059, T1078]} tactics={[]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
|
||||
const removeBtn = screen.getByRole('button', { name: /Remove T1059/i });
|
||||
const removeBtn = screen.getByRole('button', { name: /Retirer T1059/i });
|
||||
await user.click(removeBtn);
|
||||
|
||||
await waitFor(() => {
|
||||
@@ -115,7 +115,7 @@ describe('MitreTechniquesField', () => {
|
||||
<MitreTechniquesField value={[T1059]} tactics={[TA0007]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
|
||||
const removeBtn = screen.getByRole('button', { name: /Remove TA0007/i });
|
||||
const removeBtn = screen.getByRole('button', { name: /Retirer TA0007/i });
|
||||
await user.click(removeBtn);
|
||||
|
||||
await waitFor(() => {
|
||||
@@ -131,7 +131,7 @@ describe('MitreTechniquesField', () => {
|
||||
renderWithProviders(
|
||||
<MitreTechniquesField value={[]} tactics={[]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
await user.click(screen.getByRole('button', { name: /Search technique/i }));
|
||||
await user.click(screen.getByRole('button', { name: /Rechercher une technique/i }));
|
||||
expect(screen.getByRole('combobox')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -142,7 +142,7 @@ describe('MitreTechniquesField', () => {
|
||||
<MitreTechniquesField value={[T1059]} tactics={[]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
|
||||
await user.click(screen.getByRole('button', { name: /Search technique/i }));
|
||||
await user.click(screen.getByRole('button', { name: /Rechercher une technique/i }));
|
||||
const combobox = screen.getByRole('combobox');
|
||||
|
||||
await user.type(combobox, 'T1059');
|
||||
@@ -161,7 +161,7 @@ describe('MitreTechniquesField', () => {
|
||||
renderWithProviders(
|
||||
<MitreTechniquesField value={[]} tactics={[]} simulationId={7} engagementId={42} />,
|
||||
);
|
||||
await user.click(screen.getByRole('button', { name: /Open MITRE matrix/i }));
|
||||
await user.click(screen.getByRole('button', { name: /Ouvrir la matrice/i }));
|
||||
expect(screen.getByRole('dialog')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user