Spaces:
Running
Running
| // 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("NX › Scale-Free Graph"); | |
| const graphBox = workspace.getBox("NX › Scale-Free Graph 1"); | |
| await expect(graphBox.locator(".error")).toHaveText("n is unset."); | |
| await graphBox.getByLabel("n", { exact: true }).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("NX › Scale-Free Graph"); | |
| const graphBox = workspace.getBox("NX › Scale-Free Graph 1"); | |
| await graphBox.getByLabel("n", { exact: true }).fill("10"); | |
| await workspace.setEnv("LynxScribe"); | |
| const csvBox = workspace.getBox("NX › Scale-Free Graph 1"); | |
| await expect(csvBox.locator(".error")).toHaveText('Operation "NX › Scale-Free Graph" not found.'); | |
| await workspace.setEnv("LynxKite Graph Analytics"); | |
| await expect(csvBox.locator(".error")).not.toBeVisible(); | |
| }); | |