lynxkite / lynxkite-app /web /tests /upload.spec.ts
JMLizano's picture
Add deletion & naming for folders and workspaces (#67)
58bf1b1 unverified
raw
history blame
1.39 kB
// 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);
});