lynxkite / lynxkite-app /web /tests /errors.spec.ts
JMLizano's picture
Add deletion & naming for folders and workspaces (#67)
58bf1b1 unverified
raw
history blame
1.67 kB
// Tests error reporting.
import { test, expect } from '@playwright/test';
import { Splash, Workspace } from './lynxkite';
let workspace: Workspace;
test.beforeEach(async ({ browser }) => {
workspace = await Workspace.empty(await browser.newPage(), 'error_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('error_spec_test');
});
test('missing parameter', async () => {
// Test the correct error message is displayed when a required parameter is missing,
// and that the error message is removed when the parameter is filled.
await workspace.addBox('Create scale-free graph');
const graphBox = workspace.getBox('Create scale-free graph 1');
await graphBox.locator('input').fill('');
expect(await graphBox.locator('.error').innerText()).toBe("invalid literal for int() with base 10: ''");
await graphBox.locator('input').fill('10');
await expect(graphBox.locator('.error')).not.toBeVisible();
});
test('unknown operation', async () => {
// Test that the correct error is displayed when the operation does not belong to
// the current environment.
await workspace.addBox('Create scale-free graph');
await workspace.setEnv('LynxScribe');
const csvBox = workspace.getBox('Create scale-free graph 1');
const errorText = await csvBox.locator('.error').innerText();
expect(errorText).toBe('Operation "Create scale-free graph" not found.');
await workspace.setEnv('LynxKite Graph Analytics');
await expect(csvBox.locator('.error')).not.toBeVisible();
});