diff --git a/src/components/admin/CreateTableDialog.tsx b/src/components/admin/CreateTableDialog.tsx index 4ed18d4..f8d59cc 100644 --- a/src/components/admin/CreateTableDialog.tsx +++ b/src/components/admin/CreateTableDialog.tsx @@ -12,10 +12,7 @@ import { MenuItem, Select, } from '../atoms'; -import Button from '../atoms/Button'; -import TextField from '../atoms/TextField'; -import Typography from '../atoms/Typography'; -import IconButton from '../atoms/IconButton'; +import { Button, TextField, Typography, IconButton } from '../atoms'; type Column = { name: string; diff --git a/src/components/admin/DataGrid.tsx b/src/components/admin/DataGrid.tsx index b755764..f0b7a87 100644 --- a/src/components/admin/DataGrid.tsx +++ b/src/components/admin/DataGrid.tsx @@ -10,7 +10,7 @@ import { TableRow, Tooltip, } from '../atoms'; -import IconButton from '../atoms/IconButton'; +import { IconButton } from '../atoms'; type DataGridProps = { columns: Array<{ name: string; label?: string }>; diff --git a/src/components/admin/DropTableDialog.tsx b/src/components/admin/DropTableDialog.tsx index 485aad4..fd84007 100644 --- a/src/components/admin/DropTableDialog.tsx +++ b/src/components/admin/DropTableDialog.tsx @@ -9,8 +9,7 @@ import { MenuItem, Select, } from '../atoms'; -import Button from '../atoms/Button'; -import Typography from '../atoms/Typography'; +import { Button, Typography } from '../atoms'; type DropTableDialogProps = { open: boolean; diff --git a/tests/utils/playbookRunner.ts b/tests/utils/playbookRunner.ts index ca214f2..82d759c 100644 --- a/tests/utils/playbookRunner.ts +++ b/tests/utils/playbookRunner.ts @@ -66,10 +66,20 @@ export async function executeStep(page: Page, step: PlaywrightStep, variables: R break; case 'screenshot': + // Generate unique filename with timestamp and random component + const timestamp = Date.now(); + const random = Math.random().toString(36).substring(2, 8); + const uniqueId = `${timestamp}-${random}`; + if (selector) { - await page.locator(selector).screenshot({ path: `screenshots/${Date.now()}-${selector.replace(/[^a-z0-9]/gi, '_')}.png` }); + const safeSelector = selector.replace(/[^a-z0-9]/gi, '_'); + await page.locator(selector).screenshot({ + path: `screenshots/${uniqueId}-${safeSelector}.png` + }); } else { - await page.screenshot({ path: `screenshots/${Date.now()}-page.png` }); + await page.screenshot({ + path: `screenshots/${uniqueId}-page.png` + }); } break;