Spaces:
Running
Running
| // Test uploading a file in an import box. | |
| import { test, expect } from '@playwright/test'; | |
| import { Splash, Workspace } from './lynxkite'; | |
| import { join, dirname } from 'path'; | |
| import { fileURLToPath } from 'url'; | |
| let workspace: Workspace; | |
| test.beforeEach(async ({ browser }) => { | |
| workspace = await Workspace.empty(await browser.newPage(), 'upload_spec_test'); | |
| }); | |
| test.afterEach(async ({ }) => { | |
| await workspace.close(); | |
| const splash = await new Splash(workspace.page); | |
| splash.page.on('dialog', async dialog => { await dialog.accept(); }); | |
| await splash.deleteEntry('upload_spec_test'); | |
| }); | |
| test('can upload and import a simple CSV', async () => { | |
| const __filename = fileURLToPath(import.meta.url); | |
| const __dirname = dirname(__filename); | |
| const csvPath = join(__dirname, 'data', 'upload_test.csv'); | |
| await workspace.addBox('Import CSV'); | |
| const csvBox = workspace.getBox('Import CSV 1'); | |
| const filenameInput = csvBox.locator('input.input-bordered').nth(0); | |
| await filenameInput.click(); | |
| await filenameInput.fill(csvPath); | |
| await filenameInput.press('Enter'); | |
| await workspace.addBox('View tables'); | |
| const tableBox = workspace.getBox('View tables 1'); | |
| await workspace.connectBoxes('Import CSV 1', 'View tables 1'); | |
| const tableRows = tableBox.locator('table tbody tr'); | |
| await expect(tableRows).toHaveCount(4); | |
| }); | |