Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions ui-tests/tests/arbalister.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { expect, test } from "@jupyterlab/galata";
import { getColsRows, uploadFile, waitForGrid } from "../utils";

/**
* Don't load JupyterLab webpage before running the tests.
Expand All @@ -17,3 +18,34 @@ test("should emit an activation console message", async ({ page }) => {

expect(logs.filter((s) => s === "Launching JupyterLab extension arbalister")).toHaveLength(1);
});

test.describe("Viewers", () => {
test.beforeEach(async ({ page }) => {
await page.goto();
});
test("open csv file and shows a delimiter", async ({ page }) => {
await uploadFile(page, "fake_test.csv");
await waitForGrid(page);

const before = await getColsRows(page);

await page.selectOption("select", ";");
await page.waitForTimeout(500);

const after = await getColsRows(page);

await page.selectOption("select", ";");
await page.waitForTimeout(500);

expect(after).not.toEqual(before);
});

test("open parquet file", async ({ page }) => {
await uploadFile(page, "fake_test.parquet");
await waitForGrid(page);
const before = await getColsRows(page);
const check = "3 rows; 3 columns";
console.log("before", before);
expect(before).toEqual(check);
});
});
21 changes: 21 additions & 0 deletions ui-tests/utils.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Page, expect } from "@playwright/test";

export async function openFile(page: Page, filename: string) {
await page.click(`text=${filename}`);
await page.waitForSelector(".arrow-viewer-toolbar");
}

export async function waitForGrid(page: Page) {
await page.waitForSelector(".ag-root", { timeout: 3000 });
}

export async function getColsRows(page: Page) {
const text = await page.locator(`toolbar-group-cols-rows`).innerText;
return text;
}

export async function uploadFile(page: Page, filePath: string) {
const input = page.locator("input[type=file]");
await input.setInputFiles(filePath);

Check failure on line 19 in ui-tests/utils.ts

View workflow job for this annotation

GitHub Actions / Integration tests

tests/arbalister.spec.ts:43:7 › Viewers › open parquet file

2) tests/arbalister.spec.ts:43:7 › Viewers › open parquet file ─────────────────────────────────── Error: ENOENT: no such file or directory, stat 'fake_test.parquet' at utils.ts:19 17 | export async function uploadFile(page: Page, filePath: string) { 18 | const input = page.locator("input[type=file]"); > 19 | await input.setInputFiles(filePath); | ^ 20 | await page.waitForSelector(".arrow-viewer-toolbar"); 21 | } 22 | at uploadFile (/home/runner/work/Arbalister/Arbalister/ui-tests/utils.ts:19:3) at /home/runner/work/Arbalister/Arbalister/ui-tests/tests/arbalister.spec.ts:44:5

Check failure on line 19 in ui-tests/utils.ts

View workflow job for this annotation

GitHub Actions / Integration tests

tests/arbalister.spec.ts:26:7 › Viewers › open csv file and shows a delimiter

1) tests/arbalister.spec.ts:26:7 › Viewers › open csv file and shows a delimiter ───────────────── Error: ENOENT: no such file or directory, stat 'fake_test.csv' at utils.ts:19 17 | export async function uploadFile(page: Page, filePath: string) { 18 | const input = page.locator("input[type=file]"); > 19 | await input.setInputFiles(filePath); | ^ 20 | await page.waitForSelector(".arrow-viewer-toolbar"); 21 | } 22 | at uploadFile (/home/runner/work/Arbalister/Arbalister/ui-tests/utils.ts:19:3) at /home/runner/work/Arbalister/Arbalister/ui-tests/tests/arbalister.spec.ts:27:5
await page.waitForSelector(".arrow-viewer-toolbar");
}
Loading