Spaces:
Running
Running
| // 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(); | |
| }); | |