test(e2e): align assertions with i18n fix — French→English labels
- us7: "Nouvelle simulation" → "New simulation" (3 assertions) - us4: "Nouvelle simulation" → "New simulation" (1 assertion) - us9: "Simulation pas encore en revue" → "Simulation not yet ready for review" (1 assertion) - us11: "Marquer en revue" → "Mark for review" (6 assertions), "Clôturer" → /^close$/i (7 assertions) - us12: "Supprimer" → /^delete$/i (4 assertions), "Supprimer la simulation" → "Delete simulation" (1 assertion) No other French strings found in e2e/tests/. Suite: 68/68 pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -167,7 +167,7 @@ test.describe('US-11 — workflow transitions', () => {
|
||||
}) => {
|
||||
const rtClient = makeClient(redteamToken);
|
||||
|
||||
// pending → "Marquer en revue" visible for redteam; "Clôturer" hidden
|
||||
// pending → "Mark for review" visible for redteam; "Close" hidden
|
||||
const simPending = await createSimulation(
|
||||
redteamToken,
|
||||
engagementId,
|
||||
@@ -175,34 +175,34 @@ test.describe('US-11 — workflow transitions', () => {
|
||||
);
|
||||
await seedTokenInStorage(context, redteamToken);
|
||||
await page.goto(`/engagements/${engagementId}/simulations/${simPending.id}/edit`);
|
||||
await expect(page.getByRole('button', { name: /marquer en revue/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /clôturer/i })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: /mark for review/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /^close$/i })).toHaveCount(0);
|
||||
|
||||
// in_progress → "Marquer en revue" visible
|
||||
// in_progress → "Mark for review" visible
|
||||
const simIP = await createSimulation(redteamToken, engagementId, 'AC-11.4 in_progress UI');
|
||||
await rtClient.patch(`/simulations/${simIP.id}`, { name: 'trigger' });
|
||||
await page.goto(`/engagements/${engagementId}/simulations/${simIP.id}/edit`);
|
||||
await expect(page.getByRole('button', { name: /marquer en revue/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /clôturer/i })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: /mark for review/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /^close$/i })).toHaveCount(0);
|
||||
|
||||
// review_required → "Clôturer" visible for redteam; "Marquer en revue" hidden
|
||||
// review_required → "Close" visible for redteam; "Mark for review" hidden
|
||||
const simRR = await createSimulation(redteamToken, engagementId, 'AC-11.4 review UI');
|
||||
await rtClient.post(`/simulations/${simRR.id}/transition`, { to: 'review_required' });
|
||||
await page.goto(`/engagements/${engagementId}/simulations/${simRR.id}/edit`);
|
||||
await expect(page.getByRole('button', { name: /clôturer/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /marquer en revue/i })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: /^close$/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /mark for review/i })).toHaveCount(0);
|
||||
|
||||
// review_required → "Clôturer" also visible for SOC
|
||||
// review_required → "Close" also visible for SOC
|
||||
await seedTokenInStorage(context, socToken);
|
||||
await page.goto(`/engagements/${engagementId}/simulations/${simRR.id}/edit`);
|
||||
await expect(page.getByRole('button', { name: /clôturer/i })).toBeVisible();
|
||||
await expect(page.getByRole('button', { name: /^close$/i })).toBeVisible();
|
||||
|
||||
// done → both buttons hidden
|
||||
await rtClient.post(`/simulations/${simRR.id}/transition`, { to: 'done' });
|
||||
await seedTokenInStorage(context, redteamToken);
|
||||
await page.goto(`/engagements/${engagementId}/simulations/${simRR.id}/edit`);
|
||||
await expect(page.getByRole('button', { name: /marquer en revue/i })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: /clôturer/i })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: /mark for review/i })).toHaveCount(0);
|
||||
await expect(page.getByRole('button', { name: /^close$/i })).toHaveCount(0);
|
||||
|
||||
await deleteSimulation(redteamToken, simPending.id);
|
||||
await deleteSimulation(redteamToken, simIP.id);
|
||||
@@ -223,14 +223,14 @@ test.describe('US-11 — workflow transitions', () => {
|
||||
const badge = page.getByTestId('simulation-status-badge');
|
||||
await expect(badge).toHaveAttribute('data-status', 'pending');
|
||||
|
||||
// Click "Marquer en revue"
|
||||
await page.getByRole('button', { name: /marquer en revue/i }).click();
|
||||
// Click "Mark for review"
|
||||
await page.getByRole('button', { name: /mark for review/i }).click();
|
||||
|
||||
// Badge updates to review_required without page reload
|
||||
await expect(badge).toHaveAttribute('data-status', 'review_required', { timeout: 5_000 });
|
||||
|
||||
// "Clôturer" now visible; click it
|
||||
await page.getByRole('button', { name: /clôturer/i }).click();
|
||||
// "Close" now visible; click it
|
||||
await page.getByRole('button', { name: /^close$/i }).click();
|
||||
await expect(badge).toHaveAttribute('data-status', 'done', { timeout: 5_000 });
|
||||
|
||||
// Verify list is also updated: navigate to engagement detail and check badge there
|
||||
|
||||
Reference in New Issue
Block a user