Spaces:
Sleeping
Sleeping
| // Tests error reporting. | |
| import { expect, test } 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(); | |
| }); | |