keycloak/js/apps/admin-ui/test/utils/file-chooser.ts
Ricardo Martin f91363d12d
Improve Public Key Management for JWTAuthorizationGrant identity provider
Closes #44243

Signed-off-by: rmartinc <rmartinc@redhat.com>
2025-12-03 11:45:34 +01:00

25 lines
707 B
TypeScript

import type { Locator, Page } from "@playwright/test";
import path from "node:path";
import { fileURLToPath } from "node:url";
export async function chooseFile(page: Page, file: string) {
const locator = page.getByText("Browse...");
await chooseFileByLocator(page, file, locator);
}
export async function chooseFileByLocator(
page: Page,
file: string,
locator: Locator,
) {
const fileChooserPromise = page.waitForEvent("filechooser");
await locator.click();
const fileChooser = await fileChooserPromise;
const fileName = fileURLToPath(import.meta.url);
const dirName = path.dirname(fileName);
const pathName = path.resolve(dirName, file);
await fileChooser.setFiles(pathName);
}