From 3abd892292b2687e1a692e7b39600fb375a8f4b0 Mon Sep 17 00:00:00 2001 From: Subhash Khileri Date: Mon, 16 Feb 2026 17:52:00 +0530 Subject: [PATCH 1/2] Rename package to @red-hat-developer-hub/e2e-test-utils --- .github/workflows/publish-npm.yml | 6 +- docs/CLAUDE.md | 22 +++---- docs/api/deployment/deployment-types.md | 6 +- docs/api/deployment/keycloak-helper.md | 4 +- docs/api/deployment/keycloak-types.md | 6 +- docs/api/deployment/rhdh-deployment.md | 4 +- docs/api/eslint/create-eslint-config.md | 6 +- docs/api/helpers/api-helper.md | 4 +- docs/api/helpers/login-helper.md | 4 +- docs/api/helpers/ui-helper.md | 2 +- docs/api/index.md | 2 +- docs/api/pages/catalog-import-page.md | 6 +- docs/api/pages/catalog-page.md | 4 +- docs/api/pages/extensions-page.md | 6 +- docs/api/pages/home-page.md | 4 +- docs/api/pages/notification-page.md | 4 +- docs/api/playwright/base-config.md | 6 +- docs/api/playwright/global-setup.md | 6 +- docs/api/playwright/test-fixtures.md | 6 +- docs/api/utils/bash.md | 4 +- docs/api/utils/common.md | 4 +- docs/api/utils/kubernetes-client.md | 4 +- docs/api/utils/merge-yamls.md | 4 +- docs/api/utils/plugin-metadata.md | 2 +- docs/changelog.md | 2 +- docs/examples/api-operations.md | 14 ++-- docs/examples/basic-test.md | 4 +- docs/examples/catalog-operations.md | 14 ++-- docs/examples/custom-deployment.md | 14 ++-- docs/examples/guest-auth-test.md | 2 +- docs/examples/index.md | 8 +-- docs/examples/keycloak-auth-test.md | 8 +-- docs/examples/serial-tests.md | 10 +-- docs/guide/configuration/eslint-config.md | 6 +- docs/guide/configuration/index.md | 6 +- docs/guide/configuration/typescript-config.md | 8 +-- docs/guide/core-concepts/architecture.md | 24 +++---- docs/guide/core-concepts/error-handling.md | 4 +- docs/guide/core-concepts/global-setup.md | 2 +- docs/guide/core-concepts/index.md | 4 +- docs/guide/core-concepts/package-exports.md | 54 ++++++++-------- docs/guide/core-concepts/playwright-config.md | 10 +-- .../core-concepts/playwright-fixtures.md | 6 +- docs/guide/core-concepts/testing-patterns.md | 10 +-- docs/guide/deployment/authentication.md | 2 +- docs/guide/deployment/helm-deployment.md | 2 +- docs/guide/deployment/keycloak-deployment.md | 6 +- docs/guide/deployment/operator-deployment.md | 2 +- docs/guide/deployment/rhdh-deployment.md | 8 +-- docs/guide/helpers/api-helper.md | 16 ++--- docs/guide/helpers/index.md | 6 +- docs/guide/helpers/login-helper.md | 10 +-- docs/guide/helpers/ui-helper.md | 6 +- docs/guide/index.md | 4 +- docs/guide/installation.md | 10 +-- .../guide/page-objects/catalog-import-page.md | 6 +- docs/guide/page-objects/catalog-page.md | 6 +- docs/guide/page-objects/extensions-page.md | 6 +- docs/guide/page-objects/home-page.md | 6 +- docs/guide/page-objects/index.md | 8 +-- docs/guide/page-objects/notification-page.md | 6 +- docs/guide/quick-start.md | 6 +- docs/guide/utilities/bash-utilities.md | 6 +- .../utilities/environment-substitution.md | 8 +-- docs/guide/utilities/index.md | 10 +-- docs/guide/utilities/kubernetes-client.md | 4 +- docs/guide/utilities/plugin-metadata.md | 10 +-- docs/guide/utilities/yaml-merging.md | 6 +- docs/index.md | 8 +-- docs/overlay/examples/basic-plugin.md | 16 ++--- docs/overlay/examples/tech-radar.md | 16 ++--- docs/overlay/getting-started.md | 6 +- docs/overlay/index.md | 8 +-- .../reference/environment-variables.md | 2 +- docs/overlay/reference/patterns.md | 6 +- docs/overlay/reference/scripts.md | 2 +- docs/overlay/reference/troubleshooting.md | 6 +- docs/overlay/repository-structure.md | 10 +-- .../test-structure/configuration-files.md | 14 ++-- .../test-structure/directory-layout.md | 16 ++--- docs/overlay/test-structure/spec-files.md | 16 ++--- docs/overlay/tutorials/ci-pipeline.md | 2 +- docs/overlay/tutorials/custom-deployment.md | 10 +-- docs/overlay/tutorials/new-workspace.md | 12 ++-- docs/overlay/tutorials/plugin-config.md | 10 +-- docs/overlay/tutorials/running-locally.md | 4 +- docs/package.json | 4 +- docs/snippets/basic-test.ts | 2 +- docs/snippets/error-handling.ts | 2 +- docs/snippets/global-setup.ts | 2 +- docs/snippets/guest-test.ts | 2 +- docs/snippets/keycloak-test.ts | 2 +- docs/snippets/playwright-config.ts | 2 +- docs/snippets/serial-vs-parallel.ts | 4 +- docs/tutorials/custom-page-objects.md | 6 +- docs/tutorials/first-test.md | 4 +- docs/tutorials/keycloak-oidc-testing.md | 4 +- docs/tutorials/multi-project-setup.md | 4 +- docs/tutorials/plugin-testing.md | 8 +-- docs/yarn.lock | 16 ++--- package.json | 5 +- yarn.lock | 64 +++++++++---------- 102 files changed, 397 insertions(+), 394 deletions(-) diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 39ff5c6..57affe8 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -32,7 +32,7 @@ jobs: run: yarn config set npmPublishRegistry "https://registry.npmjs.org" - name: Publish - run: yarn npm publish + run: yarn npm publish --access public env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.RHDH_NPM_TOKEN }} + YARN_NPM_AUTH_TOKEN: ${{ secrets.RHDH_NPM_TOKEN }} diff --git a/docs/CLAUDE.md b/docs/CLAUDE.md index 7c1f087..647f4b4 100644 --- a/docs/CLAUDE.md +++ b/docs/CLAUDE.md @@ -1,6 +1,6 @@ # Documentation Guide for Claude -This file contains essential information for maintaining and extending the VitePress documentation for `rhdh-e2e-test-utils`. +This file contains essential information for maintaining and extending the VitePress documentation for `@red-hat-developer-hub/e2e-test-utils`. ## Documentation Structure @@ -43,7 +43,7 @@ docs/ - Use the fixture pattern (recommended) over direct instantiation - Standard test structure: ```typescript - import { test, expect } from "rhdh-e2e-test-utils/test"; + import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Feature", () => { test.beforeAll(async ({ rhdh }) => { /* deploy */ }); @@ -202,12 +202,12 @@ Base URL is configured as `/rhdh-e2e-test-utils/` in `config.ts`. | Export | Import Path | Description | |--------|-------------|-------------| -| Test fixtures | `rhdh-e2e-test-utils/test` | Main test API | -| Playwright config | `rhdh-e2e-test-utils/playwright-config` | Base config | -| RHDH deployment | `rhdh-e2e-test-utils/rhdh` | RHDHDeployment | -| Keycloak | `rhdh-e2e-test-utils/keycloak` | KeycloakHelper | -| Helpers | `rhdh-e2e-test-utils/helpers` | UIhelper, LoginHelper, etc. | -| Page objects | `rhdh-e2e-test-utils/pages` | CatalogPage, HomePage, etc. | -| Utilities | `rhdh-e2e-test-utils/utils` | KubernetesClientHelper, etc. | -| ESLint | `rhdh-e2e-test-utils/eslint` | ESLint config | -| TypeScript | `rhdh-e2e-test-utils/tsconfig` | TSConfig base | +| Test fixtures | `@red-hat-developer-hub/e2e-test-utils/test` | Main test API | +| Playwright config | `@red-hat-developer-hub/e2e-test-utils/playwright-config` | Base config | +| RHDH deployment | `@red-hat-developer-hub/e2e-test-utils/rhdh` | RHDHDeployment | +| Keycloak | `@red-hat-developer-hub/e2e-test-utils/keycloak` | KeycloakHelper | +| Helpers | `@red-hat-developer-hub/e2e-test-utils/helpers` | UIhelper, LoginHelper, etc. | +| Page objects | `@red-hat-developer-hub/e2e-test-utils/pages` | CatalogPage, HomePage, etc. | +| Utilities | `@red-hat-developer-hub/e2e-test-utils/utils` | KubernetesClientHelper, etc. | +| ESLint | `@red-hat-developer-hub/e2e-test-utils/eslint` | ESLint config | +| TypeScript | `@red-hat-developer-hub/e2e-test-utils/tsconfig` | TSConfig base | diff --git a/docs/api/deployment/deployment-types.md b/docs/api/deployment/deployment-types.md index 1f426b2..68fccb1 100644 --- a/docs/api/deployment/deployment-types.md +++ b/docs/api/deployment/deployment-types.md @@ -10,7 +10,7 @@ import type { AuthProvider, DeploymentOptions, DeploymentConfig, -} from "rhdh-e2e-test-utils/rhdh"; +} from "@red-hat-developer-hub/e2e-test-utils/rhdh"; ``` ## DeploymentMethod @@ -100,8 +100,8 @@ Combined type for full deployment configuration. ## Example Usage ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; -import type { DeploymentOptions } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; +import type { DeploymentOptions } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; const options: DeploymentOptions = { version: "1.5", diff --git a/docs/api/deployment/keycloak-helper.md b/docs/api/deployment/keycloak-helper.md index c56a22c..6805fc7 100644 --- a/docs/api/deployment/keycloak-helper.md +++ b/docs/api/deployment/keycloak-helper.md @@ -5,7 +5,7 @@ Class for deploying and managing Keycloak in OpenShift. ## Import ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; ``` ## Constructor @@ -193,7 +193,7 @@ Wait for Keycloak StatefulSet to be ready. ## Example ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; const keycloak = new KeycloakHelper({ namespace: "rhdh-keycloak", diff --git a/docs/api/deployment/keycloak-types.md b/docs/api/deployment/keycloak-types.md index 879aae3..8d3996f 100644 --- a/docs/api/deployment/keycloak-types.md +++ b/docs/api/deployment/keycloak-types.md @@ -13,7 +13,7 @@ import type { KeycloakGroupConfig, KeycloakRealmConfig, KeycloakConnectionConfig, -} from "rhdh-e2e-test-utils/keycloak"; +} from "@red-hat-developer-hub/e2e-test-utils/keycloak"; ``` ## KeycloakDeploymentOptions @@ -139,8 +139,8 @@ await keycloak.connect({ ## Example Usage ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; -import type { KeycloakUserConfig } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; +import type { KeycloakUserConfig } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; const keycloak = new KeycloakHelper(); await keycloak.deploy(); diff --git a/docs/api/deployment/rhdh-deployment.md b/docs/api/deployment/rhdh-deployment.md index c7ddec1..b871424 100644 --- a/docs/api/deployment/rhdh-deployment.md +++ b/docs/api/deployment/rhdh-deployment.md @@ -5,7 +5,7 @@ Class for managing RHDH deployments in OpenShift. ## Import ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; ``` ## Constructor @@ -139,7 +139,7 @@ await rhdh.teardown(); ## Example ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; const rhdh = new RHDHDeployment("my-namespace"); diff --git a/docs/api/eslint/create-eslint-config.md b/docs/api/eslint/create-eslint-config.md index ffc56ba..8417825 100644 --- a/docs/api/eslint/create-eslint-config.md +++ b/docs/api/eslint/create-eslint-config.md @@ -5,7 +5,7 @@ ESLint configuration factory. ## Import ```typescript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; ``` ## `createEslintConfig()` @@ -26,7 +26,7 @@ Create ESLint flat config with Playwright and TypeScript rules. ```javascript // eslint.config.js -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -42,7 +42,7 @@ export default createEslintConfig(import.meta.dirname); ## Extending ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; const baseConfig = createEslintConfig(import.meta.dirname); diff --git a/docs/api/helpers/api-helper.md b/docs/api/helpers/api-helper.md index 5a132f9..b56429c 100644 --- a/docs/api/helpers/api-helper.md +++ b/docs/api/helpers/api-helper.md @@ -5,7 +5,7 @@ Utilities for GitHub and Backstage API interactions. ## Import ```typescript -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; ``` ## Static Methods (GitHub) @@ -127,7 +127,7 @@ async deleteEntityFromCatalog( ## Example ```typescript -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; // GitHub operations await APIHelper.createGitHubRepo("my-org", "test-repo"); diff --git a/docs/api/helpers/login-helper.md b/docs/api/helpers/login-helper.md index cb7c22e..bf92357 100644 --- a/docs/api/helpers/login-helper.md +++ b/docs/api/helpers/login-helper.md @@ -5,7 +5,7 @@ Authentication helper for various providers. ## Import ```typescript -import { LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; ``` ## Constructor @@ -61,7 +61,7 @@ Sign out of RHDH. ## Example ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeEach(async ({ loginHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/api/helpers/ui-helper.md b/docs/api/helpers/ui-helper.md index b32c33e..5452029 100644 --- a/docs/api/helpers/ui-helper.md +++ b/docs/api/helpers/ui-helper.md @@ -5,7 +5,7 @@ UI interaction helper for Material-UI components. ## Import ```typescript -import { UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; ``` ## Constructor diff --git a/docs/api/index.md b/docs/api/index.md index f021689..ff07dd9 100644 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -1,6 +1,6 @@ # API Reference -Complete API documentation for all exports from `rhdh-e2e-test-utils`. +Complete API documentation for all exports from `@red-hat-developer-hub/e2e-test-utils`. ## Exports Overview diff --git a/docs/api/pages/catalog-import-page.md b/docs/api/pages/catalog-import-page.md index 00a3b04..bac7ace 100644 --- a/docs/api/pages/catalog-import-page.md +++ b/docs/api/pages/catalog-import-page.md @@ -5,7 +5,7 @@ Page object for the catalog import functionality. ## Import ```typescript -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` ## Constructor @@ -109,8 +109,8 @@ await catalogImportPage.inspectEntityAndVerifyYaml("kind: Component"); ```typescript import { test, expect } from "@playwright/test"; -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; -import { UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; +import { UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test("import a new component", async ({ page }) => { const uiHelper = new UIhelper(page); diff --git a/docs/api/pages/catalog-page.md b/docs/api/pages/catalog-page.md index f65ea98..cce3667 100644 --- a/docs/api/pages/catalog-page.md +++ b/docs/api/pages/catalog-page.md @@ -5,7 +5,7 @@ Page object for the RHDH software catalog (`/catalog` page). ## Import ```typescript -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` ## Constructor @@ -109,7 +109,7 @@ await row.click(); ```typescript import { test, expect } from "@playwright/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("search and navigate catalog", async ({ page }) => { const catalogPage = new CatalogPage(page); diff --git a/docs/api/pages/extensions-page.md b/docs/api/pages/extensions-page.md index 50b8c4d..171ff40 100644 --- a/docs/api/pages/extensions-page.md +++ b/docs/api/pages/extensions-page.md @@ -5,7 +5,7 @@ Page object for the RHDH extensions/plugins marketplace page. ## Import ```typescript -import { ExtensionsPage } from "rhdh-e2e-test-utils/pages"; +import { ExtensionsPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` ## Constructor @@ -181,8 +181,8 @@ Verify a key-value row in a table. ```typescript import { test, expect } from "@playwright/test"; -import { ExtensionsPage } from "rhdh-e2e-test-utils/pages"; -import { UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { ExtensionsPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; +import { UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test("browse and filter extensions", async ({ page }) => { const uiHelper = new UIhelper(page); diff --git a/docs/api/pages/home-page.md b/docs/api/pages/home-page.md index 9782ef0..e4f6271 100644 --- a/docs/api/pages/home-page.md +++ b/docs/api/pages/home-page.md @@ -5,7 +5,7 @@ Page object for the RHDH home page. ## Import ```typescript -import { HomePage } from "rhdh-e2e-test-utils/pages"; +import { HomePage } from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` ## Constructor @@ -87,7 +87,7 @@ await homePage.verifyVisitedCardContent("Recently Visited"); ```typescript import { test, expect } from "@playwright/test"; -import { HomePage } from "rhdh-e2e-test-utils/pages"; +import { HomePage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("verify home page features", async ({ page }) => { const homePage = new HomePage(page); diff --git a/docs/api/pages/notification-page.md b/docs/api/pages/notification-page.md index 2d50411..88ba666 100644 --- a/docs/api/pages/notification-page.md +++ b/docs/api/pages/notification-page.md @@ -5,7 +5,7 @@ Page object for the RHDH notifications page. ## Import ```typescript -import { NotificationPage } from "rhdh-e2e-test-utils/pages"; +import { NotificationPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` ## Constructor @@ -202,7 +202,7 @@ Sort notifications with newest first (default). ```typescript import { test, expect } from "@playwright/test"; -import { NotificationPage } from "rhdh-e2e-test-utils/pages"; +import { NotificationPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("manage notifications", async ({ page }) => { const notificationPage = new NotificationPage(page); diff --git a/docs/api/playwright/base-config.md b/docs/api/playwright/base-config.md index 4c8ee48..e45e3c8 100644 --- a/docs/api/playwright/base-config.md +++ b/docs/api/playwright/base-config.md @@ -5,7 +5,7 @@ Playwright configuration utilities for RHDH testing. ## Import ```typescript -import { defineConfig, baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig, baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; ``` ## `defineConfig()` @@ -29,7 +29,7 @@ Creates a Playwright configuration with RHDH defaults. ### Example ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ projects: [ @@ -75,7 +75,7 @@ Raw base configuration object. Use for advanced customization. ### Example ```typescript -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import { defineConfig as playwrightDefineConfig } from "@playwright/test"; export default playwrightDefineConfig({ diff --git a/docs/api/playwright/global-setup.md b/docs/api/playwright/global-setup.md index bcddcd0..420e1fe 100644 --- a/docs/api/playwright/global-setup.md +++ b/docs/api/playwright/global-setup.md @@ -40,7 +40,7 @@ When deployed: ## Disabling Global Setup ```typescript -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import { defineConfig } from "@playwright/test"; export default defineConfig({ @@ -56,7 +56,7 @@ Create your own that calls the default: ```typescript // global-setup.ts -import { globalSetup as defaultSetup } from "rhdh-e2e-test-utils/playwright-config"; +import { globalSetup as defaultSetup } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default async function globalSetup() { // Your custom setup @@ -72,7 +72,7 @@ export default async function globalSetup() { ```typescript // playwright.config.ts -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ globalSetup: require.resolve("./global-setup"), diff --git a/docs/api/playwright/test-fixtures.md b/docs/api/playwright/test-fixtures.md index 94325f6..f1bac62 100644 --- a/docs/api/playwright/test-fixtures.md +++ b/docs/api/playwright/test-fixtures.md @@ -5,7 +5,7 @@ Custom Playwright fixtures for RHDH testing. ## Import ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; ``` ## Fixtures @@ -83,7 +83,7 @@ test("using baseURL", async ({ page, baseURL }) => { ## Exported Types ```typescript -import type { Page, BrowserContext, Locator } from "rhdh-e2e-test-utils/test"; +import type { Page, BrowserContext, Locator } from "@red-hat-developer-hub/e2e-test-utils/test"; ``` Re-exports all Playwright types for convenience. @@ -91,7 +91,7 @@ Re-exports all Playwright types for convenience. ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("My Tests", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/api/utils/bash.md b/docs/api/utils/bash.md index 4e8fa61..9e23cc5 100644 --- a/docs/api/utils/bash.md +++ b/docs/api/utils/bash.md @@ -5,7 +5,7 @@ Shell command execution via zx. ## Import ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## Usage @@ -47,7 +47,7 @@ try { ## Example ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; // Run setup script await $`bash scripts/setup.sh ${namespace}`; diff --git a/docs/api/utils/common.md b/docs/api/utils/common.md index 9db797e..ea29887 100644 --- a/docs/api/utils/common.md +++ b/docs/api/utils/common.md @@ -5,7 +5,7 @@ Environment variable substitution. ## Import ```typescript -import { envsubst } from "rhdh-e2e-test-utils/utils"; +import { envsubst } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## `envsubst()` @@ -33,7 +33,7 @@ Replace environment variable placeholders in a string. ## Example ```typescript -import { envsubst } from "rhdh-e2e-test-utils/utils"; +import { envsubst } from "@red-hat-developer-hub/e2e-test-utils/utils"; process.env.API_URL = "https://api.example.com"; diff --git a/docs/api/utils/kubernetes-client.md b/docs/api/utils/kubernetes-client.md index a2a666f..fb06284 100644 --- a/docs/api/utils/kubernetes-client.md +++ b/docs/api/utils/kubernetes-client.md @@ -5,7 +5,7 @@ Kubernetes API wrapper for OpenShift operations. ## Import ```typescript -import { KubernetesClientHelper } from "rhdh-e2e-test-utils/utils"; +import { KubernetesClientHelper } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## Constructor @@ -91,7 +91,7 @@ async restartDeployment(namespace: string, name: string): Promise ## Example ```typescript -import { KubernetesClientHelper } from "rhdh-e2e-test-utils/utils"; +import { KubernetesClientHelper } from "@red-hat-developer-hub/e2e-test-utils/utils"; const k8s = new KubernetesClientHelper(); diff --git a/docs/api/utils/merge-yamls.md b/docs/api/utils/merge-yamls.md index 2ca6a1d..340f9ec 100644 --- a/docs/api/utils/merge-yamls.md +++ b/docs/api/utils/merge-yamls.md @@ -5,7 +5,7 @@ Utilities for merging YAML files. ## Import ```typescript -import { mergeYamlFiles, mergeYamlFilesToFile } from "rhdh-e2e-test-utils/utils"; +import { mergeYamlFiles, mergeYamlFilesToFile } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## `mergeYamlFiles()` @@ -38,7 +38,7 @@ Merge YAML files and write to file. ## Example ```typescript -import { mergeYamlFiles, mergeYamlFilesToFile } from "rhdh-e2e-test-utils/utils"; +import { mergeYamlFiles, mergeYamlFilesToFile } from "@red-hat-developer-hub/e2e-test-utils/utils"; // Get merged content const content = mergeYamlFiles([ diff --git a/docs/api/utils/plugin-metadata.md b/docs/api/utils/plugin-metadata.md index 44fe810..44cc421 100644 --- a/docs/api/utils/plugin-metadata.md +++ b/docs/api/utils/plugin-metadata.md @@ -13,7 +13,7 @@ import { injectMetadataConfig, generateDynamicPluginsConfigFromMetadata, loadAndInjectPluginMetadata, -} from "rhdh-e2e-test-utils/utils"; +} from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## Functions diff --git a/docs/changelog.md b/docs/changelog.md index 59813c6..6cfd1fa 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -110,7 +110,7 @@ All notable changes to this project will be documented in this file. ## [1.1.0] ### Added -- Initial release of `rhdh-e2e-test-utils` +- Initial release of `@red-hat-developer-hub/e2e-test-utils` - RHDHDeployment class for RHDH deployment - Playwright test fixtures (rhdh, uiHelper, loginHelper, baseURL) - Base Playwright configuration with `defineConfig` diff --git a/docs/examples/api-operations.md b/docs/examples/api-operations.md index 95b3fa9..1288a5e 100644 --- a/docs/examples/api-operations.md +++ b/docs/examples/api-operations.md @@ -5,8 +5,8 @@ Examples of GitHub and Backstage API operations. ## GitHub Operations ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test.describe("GitHub API", () => { const owner = "my-org"; @@ -55,8 +55,8 @@ test.describe("GitHub API", () => { ## Backstage Catalog API ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test.describe("Backstage Catalog API", () => { let apiHelper: APIHelper; @@ -110,9 +110,9 @@ test.describe("Backstage Catalog API", () => { ## Combined Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test.describe("Full Workflow", () => { const owner = "my-org"; diff --git a/docs/examples/basic-test.md b/docs/examples/basic-test.md index 52d6be2..17e81b5 100644 --- a/docs/examples/basic-test.md +++ b/docs/examples/basic-test.md @@ -7,7 +7,7 @@ Minimal working test example. ### playwright.config.ts ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -57,7 +57,7 @@ stringData: {} ### tests/specs/basic.spec.ts ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Basic Tests", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/examples/catalog-operations.md b/docs/examples/catalog-operations.md index fb6ff85..f8c0779 100644 --- a/docs/examples/catalog-operations.md +++ b/docs/examples/catalog-operations.md @@ -5,8 +5,8 @@ Examples of catalog interactions. ## Browse Catalog ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test.describe("Catalog Operations", () => { test.beforeAll(async ({ rhdh }) => { @@ -54,8 +54,8 @@ test.describe("Catalog Operations", () => { ## Register Component ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("register component", async ({ page, loginHelper, uiHelper }) => { await loginHelper.loginAsKeycloakUser(); @@ -83,8 +83,8 @@ test("register component", async ({ page, loginHelper, uiHelper }) => { ## Table Verification ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("verify catalog table", async ({ page, loginHelper, uiHelper }) => { await loginHelper.loginAsKeycloakUser(); @@ -113,7 +113,7 @@ test("verify catalog table", async ({ page, loginHelper, uiHelper }) => { ## Navigation ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test("catalog navigation", async ({ page, loginHelper, uiHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/examples/custom-deployment.md b/docs/examples/custom-deployment.md index 86569f3..c328341 100644 --- a/docs/examples/custom-deployment.md +++ b/docs/examples/custom-deployment.md @@ -5,7 +5,7 @@ Examples of custom RHDH configuration. ## Custom App Config ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ @@ -25,8 +25,8 @@ test.beforeAll(async ({ rhdh }) => { ## Pre-Deployment Setup ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { $ } from "rhdh-e2e-test-utils/utils"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; test.beforeAll(async ({ rhdh }) => { const namespace = rhdh.deploymentConfig.namespace; @@ -49,7 +49,7 @@ test.beforeAll(async ({ rhdh }) => { ## Dynamic ConfigMaps ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ auth: "keycloak" }); @@ -70,7 +70,7 @@ test.beforeAll(async ({ rhdh }) => { ## Runtime Secrets ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { // Set secrets at runtime @@ -90,7 +90,7 @@ async function getSecretFromVault(name: string): Promise { ## Update Configuration During Test ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test("update and restart", async ({ rhdh }) => { const namespace = rhdh.deploymentConfig.namespace; @@ -156,7 +156,7 @@ upstream: ## Multiple Deployments ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; // Create multiple deployments const deployment1 = new RHDHDeployment("instance-1"); diff --git a/docs/examples/guest-auth-test.md b/docs/examples/guest-auth-test.md index 5887258..8ad900a 100644 --- a/docs/examples/guest-auth-test.md +++ b/docs/examples/guest-auth-test.md @@ -13,7 +13,7 @@ SKIP_KEYCLOAK_DEPLOYMENT=true ## Test File ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Guest Authentication", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/examples/index.md b/docs/examples/index.md index 9d54cd9..d2e589a 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -19,7 +19,7 @@ Copy-paste ready code examples for common scenarios. ### Minimal Test ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.deploy(); @@ -34,7 +34,7 @@ test("example", async ({ page }) => { ### With Login ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ auth: "keycloak" }); @@ -53,8 +53,8 @@ test("logged in test", async ({ uiHelper }) => { ### With Page Object ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("catalog test", async ({ page, loginHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/examples/keycloak-auth-test.md b/docs/examples/keycloak-auth-test.md index 36ba694..a2b1515 100644 --- a/docs/examples/keycloak-auth-test.md +++ b/docs/examples/keycloak-auth-test.md @@ -13,7 +13,7 @@ SKIP_KEYCLOAK_DEPLOYMENT=false ## Basic Keycloak Test ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Keycloak Authentication", () => { test.beforeAll(async ({ rhdh }) => { @@ -40,8 +40,8 @@ test.describe("Keycloak Authentication", () => { ## Custom Users Test ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; let keycloak: KeycloakHelper; @@ -96,7 +96,7 @@ test.describe("Custom Keycloak Users", () => { ## Login/Logout Flow ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test("complete auth flow", async ({ page, loginHelper, uiHelper }) => { // Start at login diff --git a/docs/examples/serial-tests.md b/docs/examples/serial-tests.md index 35916f0..311847c 100644 --- a/docs/examples/serial-tests.md +++ b/docs/examples/serial-tests.md @@ -13,7 +13,7 @@ Example using shared browser session across tests. ```typescript import { test } from "@playwright/test"; -import { setupBrowser, LoginHelper, UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { setupBrowser, LoginHelper, UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; import type { Page, BrowserContext } from "@playwright/test"; // Configure serial mode @@ -69,8 +69,8 @@ test("step 4: navigate tabs", async () => { ```typescript import { test, expect } from "@playwright/test"; -import { setupBrowser, LoginHelper, UIhelper } from "rhdh-e2e-test-utils/helpers"; -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; +import { setupBrowser, LoginHelper, UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; import type { Page, BrowserContext } from "@playwright/test"; test.describe.configure({ mode: "serial" }); @@ -120,8 +120,8 @@ test("check dependencies tab", async () => { ```typescript import { test as base } from "@playwright/test"; -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; -import { setupBrowser, LoginHelper, UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; +import { setupBrowser, LoginHelper, UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; import type { Page, BrowserContext } from "@playwright/test"; // Create custom test with deployment diff --git a/docs/guide/configuration/eslint-config.md b/docs/guide/configuration/eslint-config.md index 7835659..9121292 100644 --- a/docs/guide/configuration/eslint-config.md +++ b/docs/guide/configuration/eslint-config.md @@ -7,7 +7,7 @@ The package provides a pre-configured ESLint setup for Playwright tests. Create `eslint.config.js` in your project: ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -79,7 +79,7 @@ The configuration enforces: Add custom rules after the base config: ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; const baseConfig = createEslintConfig(import.meta.dirname); @@ -98,7 +98,7 @@ export default [ ## Ignoring Files ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; const baseConfig = createEslintConfig(import.meta.dirname); diff --git a/docs/guide/configuration/index.md b/docs/guide/configuration/index.md index a4d853b..b8c3326 100644 --- a/docs/guide/configuration/index.md +++ b/docs/guide/configuration/index.md @@ -35,7 +35,7 @@ e2e-tests/ ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["tests/**/*.ts"] } ``` @@ -43,7 +43,7 @@ e2e-tests/ ### ESLint ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -51,7 +51,7 @@ export default createEslintConfig(import.meta.dirname); ### Playwright ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ projects: [{ name: "my-plugin" }], diff --git a/docs/guide/configuration/typescript-config.md b/docs/guide/configuration/typescript-config.md index c15f8ab..7e89fa8 100644 --- a/docs/guide/configuration/typescript-config.md +++ b/docs/guide/configuration/typescript-config.md @@ -8,7 +8,7 @@ Create `tsconfig.json` in your project: ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["tests/**/*.ts", "playwright.config.ts"] } ``` @@ -48,7 +48,7 @@ Override settings in your `tsconfig.json`: ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "compilerOptions": { "outDir": "./dist", "rootDir": "./tests" @@ -65,7 +65,7 @@ For complex projects, create multiple configs: **tsconfig.json** (development): ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["tests/**/*.ts", "playwright.config.ts"] } ``` @@ -88,7 +88,7 @@ Add path aliases for cleaner imports: ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "compilerOptions": { "baseUrl": ".", "paths": { diff --git a/docs/guide/core-concepts/architecture.md b/docs/guide/core-concepts/architecture.md index 7c9fe9b..2ad8c7b 100644 --- a/docs/guide/core-concepts/architecture.md +++ b/docs/guide/core-concepts/architecture.md @@ -1,6 +1,6 @@ # Architecture Overview -This page explains how the different components of `rhdh-e2e-test-utils` work together to provide a seamless E2E testing experience. +This page explains how the different components of `@red-hat-developer-hub/e2e-test-utils` work together to provide a seamless E2E testing experience. ## Component Diagram @@ -18,7 +18,7 @@ This page explains how the different components of `rhdh-e2e-test-utils` work to │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────────────────┐ -│ rhdh-e2e-test-utils │ +│ @red-hat-developer-hub/e2e-test-utils │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────────┐ │ @@ -240,15 +240,15 @@ Each export serves a specific purpose: | Export | Import Path | Purpose | |--------|------------|---------| -| Test fixtures | `rhdh-e2e-test-utils/test` | Main test API with fixtures | -| Playwright config | `rhdh-e2e-test-utils/playwright-config` | Base Playwright configuration | -| RHDH deployment | `rhdh-e2e-test-utils/rhdh` | RHDHDeployment class | -| Keycloak | `rhdh-e2e-test-utils/keycloak` | KeycloakHelper class | -| Helpers | `rhdh-e2e-test-utils/helpers` | UIhelper, LoginHelper, etc. | -| Page objects | `rhdh-e2e-test-utils/pages` | Page object classes | -| Utilities | `rhdh-e2e-test-utils/utils` | KubernetesClientHelper, etc. | -| ESLint | `rhdh-e2e-test-utils/eslint` | ESLint configuration | -| TypeScript | `rhdh-e2e-test-utils/tsconfig` | TypeScript base config | +| Test fixtures | `@red-hat-developer-hub/e2e-test-utils/test` | Main test API with fixtures | +| Playwright config | `@red-hat-developer-hub/e2e-test-utils/playwright-config` | Base Playwright configuration | +| RHDH deployment | `@red-hat-developer-hub/e2e-test-utils/rhdh` | RHDHDeployment class | +| Keycloak | `@red-hat-developer-hub/e2e-test-utils/keycloak` | KeycloakHelper class | +| Helpers | `@red-hat-developer-hub/e2e-test-utils/helpers` | UIhelper, LoginHelper, etc. | +| Page objects | `@red-hat-developer-hub/e2e-test-utils/pages` | Page object classes | +| Utilities | `@red-hat-developer-hub/e2e-test-utils/utils` | KubernetesClientHelper, etc. | +| ESLint | `@red-hat-developer-hub/e2e-test-utils/eslint` | ESLint configuration | +| TypeScript | `@red-hat-developer-hub/e2e-test-utils/tsconfig` | TypeScript base config | ## Fixture Dependencies @@ -285,7 +285,7 @@ test("example", async ({ uiHelper }) => { }); // Avoid: Direct instantiation (unless needed for serial tests) -import { UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; const helper = new UIhelper(page); ``` diff --git a/docs/guide/core-concepts/error-handling.md b/docs/guide/core-concepts/error-handling.md index 34924ae..91add9a 100644 --- a/docs/guide/core-concepts/error-handling.md +++ b/docs/guide/core-concepts/error-handling.md @@ -15,7 +15,7 @@ E2E tests interact with real systems that can fail. Proper error handling: ### 1. Element Not Found ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test("handle missing element gracefully", async ({ uiHelper, page }) => { // Bad: Will fail with generic timeout error @@ -203,7 +203,7 @@ test("complex workflow with steps", async ({ uiHelper, loginHelper }) => { ```typescript // playwright.config.ts import { defineConfig } from "@playwright/test"; -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ ...baseConfig, diff --git a/docs/guide/core-concepts/global-setup.md b/docs/guide/core-concepts/global-setup.md index 8055bcf..341ea74 100644 --- a/docs/guide/core-concepts/global-setup.md +++ b/docs/guide/core-concepts/global-setup.md @@ -125,7 +125,7 @@ If Keycloak is already running in the `rhdh-keycloak` namespace: The global setup is automatically included when using `defineConfig`. To skip it entirely: ```typescript -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import { defineConfig } from "@playwright/test"; export default defineConfig({ diff --git a/docs/guide/core-concepts/index.md b/docs/guide/core-concepts/index.md index 38b134e..7b30010 100644 --- a/docs/guide/core-concepts/index.md +++ b/docs/guide/core-concepts/index.md @@ -1,13 +1,13 @@ # Core Concepts -This section covers the fundamental concepts you need to understand when using `rhdh-e2e-test-utils`. +This section covers the fundamental concepts you need to understand when using `@red-hat-developer-hub/e2e-test-utils`. ## Package Architecture The package is organized into several modules, each with a specific purpose: ``` -rhdh-e2e-test-utils +@red-hat-developer-hub/e2e-test-utils ├── /test → Playwright fixtures ├── /playwright-config → Base Playwright configuration ├── /rhdh → RHDH deployment class diff --git a/docs/guide/core-concepts/package-exports.md b/docs/guide/core-concepts/package-exports.md index ff7a826..32762ec 100644 --- a/docs/guide/core-concepts/package-exports.md +++ b/docs/guide/core-concepts/package-exports.md @@ -6,22 +6,22 @@ The package provides multiple entry points for different use cases. Each export | Export Path | Description | |-------------|-------------| -| `rhdh-e2e-test-utils/test` | Playwright test fixtures with RHDH deployment | -| `rhdh-e2e-test-utils/playwright-config` | Base Playwright configuration | -| `rhdh-e2e-test-utils/rhdh` | RHDH deployment class and types | -| `rhdh-e2e-test-utils/keycloak` | Keycloak deployment helper | -| `rhdh-e2e-test-utils/utils` | Utility functions (bash, YAML, Kubernetes) | -| `rhdh-e2e-test-utils/helpers` | UI, API, and login helper classes | -| `rhdh-e2e-test-utils/pages` | Page object classes for common RHDH pages | -| `rhdh-e2e-test-utils/eslint` | ESLint configuration factory | -| `rhdh-e2e-test-utils/tsconfig` | Base TypeScript configuration | +| `@red-hat-developer-hub/e2e-test-utils/test` | Playwright test fixtures with RHDH deployment | +| `@red-hat-developer-hub/e2e-test-utils/playwright-config` | Base Playwright configuration | +| `@red-hat-developer-hub/e2e-test-utils/rhdh` | RHDH deployment class and types | +| `@red-hat-developer-hub/e2e-test-utils/keycloak` | Keycloak deployment helper | +| `@red-hat-developer-hub/e2e-test-utils/utils` | Utility functions (bash, YAML, Kubernetes) | +| `@red-hat-developer-hub/e2e-test-utils/helpers` | UI, API, and login helper classes | +| `@red-hat-developer-hub/e2e-test-utils/pages` | Page object classes for common RHDH pages | +| `@red-hat-developer-hub/e2e-test-utils/eslint` | ESLint configuration factory | +| `@red-hat-developer-hub/e2e-test-utils/tsconfig` | Base TypeScript configuration | ## Detailed Exports ### Test Fixtures (`/test`) ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; ``` Provides extended Playwright test with RHDH-specific fixtures: @@ -33,7 +33,7 @@ Provides extended Playwright test with RHDH-specific fixtures: ### Playwright Configuration (`/playwright-config`) ```typescript -import { defineConfig, baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig, baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; ``` - `defineConfig(options)` - Create Playwright config with defaults @@ -42,8 +42,8 @@ import { defineConfig, baseConfig } from "rhdh-e2e-test-utils/playwright-config" ### RHDH Deployment (`/rhdh`) ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; -import type { DeploymentOptions, DeploymentConfig } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; +import type { DeploymentOptions, DeploymentConfig } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; ``` - `RHDHDeployment` - Class for managing RHDH deployments @@ -52,8 +52,8 @@ import type { DeploymentOptions, DeploymentConfig } from "rhdh-e2e-test-utils/rh ### Keycloak Helper (`/keycloak`) ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; -import type { KeycloakDeploymentOptions } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; +import type { KeycloakDeploymentOptions } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; ``` - `KeycloakHelper` - Class for Keycloak deployment and management @@ -62,7 +62,7 @@ import type { KeycloakDeploymentOptions } from "rhdh-e2e-test-utils/keycloak"; ### Utilities (`/utils`) ```typescript -import { $, KubernetesClientHelper, envsubst, mergeYamlFiles } from "rhdh-e2e-test-utils/utils"; +import { $, KubernetesClientHelper, envsubst, mergeYamlFiles } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` - `$` - Bash command execution via zx @@ -73,7 +73,7 @@ import { $, KubernetesClientHelper, envsubst, mergeYamlFiles } from "rhdh-e2e-te ### Helpers (`/helpers`) ```typescript -import { UIhelper, LoginHelper, APIHelper, setupBrowser } from "rhdh-e2e-test-utils/helpers"; +import { UIhelper, LoginHelper, APIHelper, setupBrowser } from "@red-hat-developer-hub/e2e-test-utils/helpers"; ``` - `UIhelper` - Material-UI component interactions @@ -90,7 +90,7 @@ import { CatalogImportPage, ExtensionsPage, NotificationPage, -} from "rhdh-e2e-test-utils/pages"; +} from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` Page object classes for common RHDH pages. @@ -98,7 +98,7 @@ Page object classes for common RHDH pages. ### ESLint Configuration (`/eslint`) ```typescript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; ``` Factory function for creating ESLint flat config with Playwright and TypeScript rules. @@ -107,7 +107,7 @@ Factory function for creating ESLint flat config with Playwright and TypeScript ```json { - "extends": "rhdh-e2e-test-utils/tsconfig" + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig" } ``` @@ -119,11 +119,11 @@ Base TypeScript configuration to extend in your project. ```typescript // playwright.config.ts -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ projects: [{ name: "my-plugin" }] }); // tests/my-plugin.spec.ts -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.deploy(); @@ -137,9 +137,9 @@ test("example", async ({ page }) => { ### Advanced Usage with Helpers ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test("catalog test", async ({ page, uiHelper, loginHelper }) => { await loginHelper.loginAsKeycloakUser(); @@ -155,8 +155,8 @@ test("catalog test", async ({ page, uiHelper, loginHelper }) => { ### Direct Deployment Control ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; const keycloak = new KeycloakHelper(); await keycloak.deploy(); diff --git a/docs/guide/core-concepts/playwright-config.md b/docs/guide/core-concepts/playwright-config.md index 70e92ac..bf3c7a3 100644 --- a/docs/guide/core-concepts/playwright-config.md +++ b/docs/guide/core-concepts/playwright-config.md @@ -6,7 +6,7 @@ The package provides a pre-configured Playwright setup optimized for RHDH testin ```typescript // playwright.config.ts -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ projects: [ @@ -61,7 +61,7 @@ The base configuration includes a global setup that runs before all tests: `defineConfig` only accepts `projects` overrides. To change other settings, use `baseConfig` with Playwright's `defineConfig`. ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ projects: [ @@ -133,7 +133,7 @@ PLAYWRIGHT_WORKERS=4 For advanced customization, you can access the raw base config: ```typescript -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import { defineConfig as playwrightDefineConfig } from "@playwright/test"; export default playwrightDefineConfig({ @@ -149,7 +149,7 @@ export default playwrightDefineConfig({ Use `dotenv` to load environment variables from a `.env` file: ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; // Load .env file @@ -172,7 +172,7 @@ GITHUB_TOKEN=ghp_xxxxx ## Example: Full Configuration ```typescript -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import { defineConfig } from "@playwright/test"; import dotenv from "dotenv"; diff --git a/docs/guide/core-concepts/playwright-fixtures.md b/docs/guide/core-concepts/playwright-fixtures.md index e24a67a..11e36be 100644 --- a/docs/guide/core-concepts/playwright-fixtures.md +++ b/docs/guide/core-concepts/playwright-fixtures.md @@ -5,7 +5,7 @@ The package extends Playwright's test framework with custom fixtures designed fo ## Importing Fixtures ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; ``` This import replaces the standard Playwright import and provides additional fixtures. @@ -197,7 +197,7 @@ export default defineConfig({ Example with manual deployment: ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; test.beforeAll(async () => { const rhdh = new RHDHDeployment("custom-namespace"); @@ -209,7 +209,7 @@ test.beforeAll(async () => { ## Example: Complete Test Setup ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("My Plugin Tests", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/guide/core-concepts/testing-patterns.md b/docs/guide/core-concepts/testing-patterns.md index c7b0197..5e707cb 100644 --- a/docs/guide/core-concepts/testing-patterns.md +++ b/docs/guide/core-concepts/testing-patterns.md @@ -30,7 +30,7 @@ By default, Playwright runs tests in parallel with isolated browser contexts. ### Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; // Each test runs independently with its own browser context test.describe("Catalog Tests", () => { @@ -61,7 +61,7 @@ test.describe("Catalog Tests", () => { ```typescript // playwright.config.ts import { defineConfig } from "@playwright/test"; -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ ...baseConfig, @@ -92,7 +92,7 @@ Serial tests share a browser context and run in sequence. ```typescript import { test } from "@playwright/test"; -import { setupBrowser, UIhelper, LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { setupBrowser, UIhelper, LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; // Configure as serial test.describe.configure({ mode: "serial" }); @@ -153,8 +153,8 @@ test.describe("Entity Creation Workflow", () => { You can mix parallel and serial within the same test file: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { setupBrowser, UIhelper, LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { setupBrowser, UIhelper, LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; // Parallel tests (use fixtures) test.describe("Parallel Catalog Tests", () => { diff --git a/docs/guide/deployment/authentication.md b/docs/guide/deployment/authentication.md index 989e81a..e5df508 100644 --- a/docs/guide/deployment/authentication.md +++ b/docs/guide/deployment/authentication.md @@ -79,7 +79,7 @@ For more details, see [Keycloak Deployment](./keycloak-deployment.md#default-con ### Creating Custom Users ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; test.beforeAll(async ({ rhdh }) => { const keycloak = new KeycloakHelper(); diff --git a/docs/guide/deployment/helm-deployment.md b/docs/guide/deployment/helm-deployment.md index 0f30550..1a014fa 100644 --- a/docs/guide/deployment/helm-deployment.md +++ b/docs/guide/deployment/helm-deployment.md @@ -192,7 +192,7 @@ stringData: ### Test File ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ diff --git a/docs/guide/deployment/keycloak-deployment.md b/docs/guide/deployment/keycloak-deployment.md index 6376a28..3cfb902 100644 --- a/docs/guide/deployment/keycloak-deployment.md +++ b/docs/guide/deployment/keycloak-deployment.md @@ -5,7 +5,7 @@ The `KeycloakHelper` class provides Keycloak deployment and management capabilit ## Basic Usage ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; const keycloak = new KeycloakHelper({ namespace: "rhdh-keycloak", @@ -256,8 +256,8 @@ await keycloak.waitUntilReady(500); // default: 500 seconds (~8 minutes) ## Full Example: RHDH + Keycloak Setup ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; let keycloak: KeycloakHelper; diff --git a/docs/guide/deployment/operator-deployment.md b/docs/guide/deployment/operator-deployment.md index eddefe8..87256b8 100644 --- a/docs/guide/deployment/operator-deployment.md +++ b/docs/guide/deployment/operator-deployment.md @@ -180,7 +180,7 @@ stringData: ### Test File ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ diff --git a/docs/guide/deployment/rhdh-deployment.md b/docs/guide/deployment/rhdh-deployment.md index f5aa06d..11de55c 100644 --- a/docs/guide/deployment/rhdh-deployment.md +++ b/docs/guide/deployment/rhdh-deployment.md @@ -5,7 +5,7 @@ The `RHDHDeployment` class is the core class for managing RHDH deployments in Op ## Basic Usage ```typescript -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; // Create deployment with namespace const deployment = new RHDHDeployment("my-test-namespace"); @@ -29,7 +29,7 @@ console.log(`RHDH URL: ${deployment.rhdhUrl}`); When using the test fixtures, `RHDHDeployment` is automatically created: ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { // rhdh is already instantiated with namespace from project name @@ -238,8 +238,8 @@ Later files override earlier ones, allowing you to customize only what you need. ## Example: Pre-Deployment Setup ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { $ } from "rhdh-e2e-test-utils/utils"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; test.beforeAll(async ({ rhdh }) => { const namespace = rhdh.deploymentConfig.namespace; diff --git a/docs/guide/helpers/api-helper.md b/docs/guide/helpers/api-helper.md index e00a99b..d281abd 100644 --- a/docs/guide/helpers/api-helper.md +++ b/docs/guide/helpers/api-helper.md @@ -5,7 +5,7 @@ The `APIHelper` class provides utilities for API interactions with both GitHub a ## Importing ```typescript -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; ``` ## GitHub API Operations @@ -149,8 +149,8 @@ await apiHelper.deleteEntityFromCatalog("component", "default", "my-component"); ### GitHub Repository Lifecycle ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test.describe("GitHub operations", () => { const owner = "my-org"; @@ -176,8 +176,8 @@ test.describe("GitHub operations", () => { ### Catalog Verification ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test("verify catalog entities", async ({ rhdh }) => { const apiHelper = new APIHelper(); @@ -205,8 +205,8 @@ test("verify catalog entities", async ({ rhdh }) => { ### Entity Refresh ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test("refresh entity", async ({ rhdh }) => { const apiHelper = new APIHelper(); @@ -242,7 +242,7 @@ test("refresh entity", async ({ rhdh }) => { ## Error Handling ```typescript -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; try { await APIHelper.createGitHubRepo("my-org", "repo-name"); diff --git a/docs/guide/helpers/index.md b/docs/guide/helpers/index.md index ba44c47..23c1b89 100644 --- a/docs/guide/helpers/index.md +++ b/docs/guide/helpers/index.md @@ -14,7 +14,7 @@ The package provides helper classes for common testing operations in RHDH. ```typescript // Via fixtures (recommended) -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test("example", async ({ uiHelper, loginHelper }) => { await loginHelper.loginAsKeycloakUser(); @@ -22,7 +22,7 @@ test("example", async ({ uiHelper, loginHelper }) => { }); // Direct import -import { UIhelper, LoginHelper, APIHelper, setupBrowser } from "rhdh-e2e-test-utils/helpers"; +import { UIhelper, LoginHelper, APIHelper, setupBrowser } from "@red-hat-developer-hub/e2e-test-utils/helpers"; const uiHelper = new UIhelper(page); const loginHelper = new LoginHelper(page); @@ -102,7 +102,7 @@ Utility for shared browser context in serial tests: ```typescript import { test } from "@playwright/test"; -import { setupBrowser, LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { setupBrowser, LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; import type { Page, BrowserContext } from "@playwright/test"; test.describe.configure({ mode: "serial" }); diff --git a/docs/guide/helpers/login-helper.md b/docs/guide/helpers/login-helper.md index 87c6f32..65d4709 100644 --- a/docs/guide/helpers/login-helper.md +++ b/docs/guide/helpers/login-helper.md @@ -6,14 +6,14 @@ The `LoginHelper` class handles authentication flows for different providers in ```typescript // Via fixture (recommended) -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test("example", async ({ loginHelper }) => { await loginHelper.loginAsKeycloakUser(); }); // Direct instantiation -import { LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; const loginHelper = new LoginHelper(page); ``` @@ -87,7 +87,7 @@ This navigates to the user menu and clicks sign out. ### Login Before Each Test ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeEach(async ({ loginHelper }) => { await loginHelper.loginAsKeycloakUser(); @@ -106,7 +106,7 @@ test("test 2", async ({ page }) => { ```typescript import { test } from "@playwright/test"; -import { setupBrowser, LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { setupBrowser, LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; import type { Page, BrowserContext } from "@playwright/test"; test.describe.configure({ mode: "serial" }); @@ -140,7 +140,7 @@ test("test 2", async () => { ### Different Users in Different Tests ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test("as developer", async ({ page, loginHelper, uiHelper }) => { await page.goto("/"); diff --git a/docs/guide/helpers/ui-helper.md b/docs/guide/helpers/ui-helper.md index 7defa4a..807df35 100644 --- a/docs/guide/helpers/ui-helper.md +++ b/docs/guide/helpers/ui-helper.md @@ -6,14 +6,14 @@ The `UIhelper` class provides methods for interacting with Material-UI component ```typescript // Via fixture (recommended) -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test("example", async ({ uiHelper }) => { await uiHelper.verifyHeading("Welcome"); }); // Direct instantiation -import { UIhelper } from "rhdh-e2e-test-utils/helpers"; +import { UIhelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; const uiHelper = new UIhelper(page); ``` @@ -262,7 +262,7 @@ await uiHelper.closeDialog(); ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test("interact with catalog", async ({ page, uiHelper, loginHelper }) => { // Login diff --git a/docs/guide/index.md b/docs/guide/index.md index aad0415..b7b4e1a 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -1,6 +1,6 @@ # Getting Started -`rhdh-e2e-test-utils` is a comprehensive test utility package for Red Hat Developer Hub (RHDH) end-to-end testing. This package provides a unified framework for deploying RHDH instances, running Playwright tests, and managing Kubernetes resources in OpenShift environments. +`@red-hat-developer-hub/e2e-test-utils` is a comprehensive test utility package for Red Hat Developer Hub (RHDH) end-to-end testing. This package provides a unified framework for deploying RHDH instances, running Playwright tests, and managing Kubernetes resources in OpenShift environments. ## Overview @@ -42,7 +42,7 @@ The package simplifies end-to-end testing for RHDH plugins by providing: │ └── specs/ │ │ └── my-plugin.spec.ts │ ├─────────────────────────────────────────────────────────────┤ -│ rhdh-e2e-test-utils │ +│ @red-hat-developer-hub/e2e-test-utils │ ├─────────────────────────────────────────────────────────────┤ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Playwright │ │ RHDH │ │ Keycloak │ │ diff --git a/docs/guide/installation.md b/docs/guide/installation.md index 6f68b95..d9a2097 100644 --- a/docs/guide/installation.md +++ b/docs/guide/installation.md @@ -5,19 +5,19 @@ Install via npm: ```bash -npm install rhdh-e2e-test-utils +npm install @red-hat-developer-hub/e2e-test-utils ``` Or via yarn: ```bash -yarn add rhdh-e2e-test-utils +yarn add @red-hat-developer-hub/e2e-test-utils ``` Or directly from GitHub (for development versions): ```bash -npm install github:redhat-developer/rhdh-e2e-test-utils#main +npm install github:redhat-developer/@red-hat-developer-hub/e2e-test-utils#main ``` ## Peer Dependencies @@ -33,8 +33,8 @@ npm install @playwright/test After installation, you can verify by importing the package: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; // If these imports work without errors, installation is successful ``` diff --git a/docs/guide/page-objects/catalog-import-page.md b/docs/guide/page-objects/catalog-import-page.md index ca1e0c2..1c7f9ae 100644 --- a/docs/guide/page-objects/catalog-import-page.md +++ b/docs/guide/page-objects/catalog-import-page.md @@ -5,7 +5,7 @@ The `CatalogImportPage` class provides methods for registering components in the ## Usage ```typescript -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; const catalogImportPage = new CatalogImportPage(page); ``` @@ -66,8 +66,8 @@ await catalogImportPage.go(); ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { CatalogImportPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogImportPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("register component", async ({ page, loginHelper, uiHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/guide/page-objects/catalog-page.md b/docs/guide/page-objects/catalog-page.md index 73937b6..e9c5257 100644 --- a/docs/guide/page-objects/catalog-page.md +++ b/docs/guide/page-objects/catalog-page.md @@ -5,7 +5,7 @@ The `CatalogPage` class provides methods for interacting with the RHDH software ## Usage ```typescript -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; const catalogPage = new CatalogPage(page); ``` @@ -76,8 +76,8 @@ await catalogPage.clearFilters(); ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("browse catalog", async ({ page, loginHelper, uiHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/guide/page-objects/extensions-page.md b/docs/guide/page-objects/extensions-page.md index a5678b5..f12b1df 100644 --- a/docs/guide/page-objects/extensions-page.md +++ b/docs/guide/page-objects/extensions-page.md @@ -5,7 +5,7 @@ The `ExtensionsPage` class provides methods for interacting with the RHDH extens ## Usage ```typescript -import { ExtensionsPage } from "rhdh-e2e-test-utils/pages"; +import { ExtensionsPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; const extensionsPage = new ExtensionsPage(page); ``` @@ -61,8 +61,8 @@ await extensionsPage.go(); ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { ExtensionsPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { ExtensionsPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("browse extensions", async ({ page, loginHelper, uiHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/guide/page-objects/home-page.md b/docs/guide/page-objects/home-page.md index c275987..1535c11 100644 --- a/docs/guide/page-objects/home-page.md +++ b/docs/guide/page-objects/home-page.md @@ -5,7 +5,7 @@ The `HomePage` class provides methods for interacting with the RHDH home page. ## Usage ```typescript -import { HomePage } from "rhdh-e2e-test-utils/pages"; +import { HomePage } from "@red-hat-developer-hub/e2e-test-utils/pages"; const homePage = new HomePage(page); ``` @@ -40,8 +40,8 @@ await homePage.clickQuickAccessItem("Favorites", "my-component"); ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { HomePage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { HomePage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("home page interactions", async ({ page, loginHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/guide/page-objects/index.md b/docs/guide/page-objects/index.md index f3ba831..08c1ea7 100644 --- a/docs/guide/page-objects/index.md +++ b/docs/guide/page-objects/index.md @@ -21,7 +21,7 @@ import { CatalogImportPage, ExtensionsPage, NotificationPage, -} from "rhdh-e2e-test-utils/pages"; +} from "@red-hat-developer-hub/e2e-test-utils/pages"; ``` ## Usage Pattern @@ -29,8 +29,8 @@ import { Page objects are instantiated with a Playwright `Page` object: ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("catalog test", async ({ page, loginHelper }) => { await loginHelper.loginAsKeycloakUser(); @@ -97,7 +97,7 @@ export class MyPluginPage { Usage: ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; import { MyPluginPage } from "./pages/my-plugin-page"; test("my plugin test", async ({ page }) => { diff --git a/docs/guide/page-objects/notification-page.md b/docs/guide/page-objects/notification-page.md index b2f4fa2..e9c26c4 100644 --- a/docs/guide/page-objects/notification-page.md +++ b/docs/guide/page-objects/notification-page.md @@ -5,7 +5,7 @@ The `NotificationPage` class provides methods for managing notifications in RHDH ## Usage ```typescript -import { NotificationPage } from "rhdh-e2e-test-utils/pages"; +import { NotificationPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; const notificationPage = new NotificationPage(page); ``` @@ -99,8 +99,8 @@ await notificationPage.deleteNotification(0); // Delete first notification ## Complete Example ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; -import { NotificationPage } from "rhdh-e2e-test-utils/pages"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { NotificationPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; test("manage notifications", async ({ page, loginHelper }) => { await loginHelper.loginAsKeycloakUser(); diff --git a/docs/guide/quick-start.md b/docs/guide/quick-start.md index 4a9b0af..e8d09a0 100644 --- a/docs/guide/quick-start.md +++ b/docs/guide/quick-start.md @@ -16,7 +16,7 @@ Before starting, ensure you have: ```bash mkdir my-plugin-e2e && cd my-plugin-e2e yarn init -y -yarn add @playwright/test rhdh-e2e-test-utils typescript +yarn add @playwright/test @red-hat-developer-hub/e2e-test-utils typescript ``` ## Step 2: Create Playwright Configuration @@ -24,7 +24,7 @@ yarn add @playwright/test rhdh-e2e-test-utils typescript Create `playwright.config.ts`: ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -101,7 +101,7 @@ SKIP_KEYCLOAK_DEPLOYMENT=false Create `tests/specs/my-plugin.spec.ts`: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("My Plugin Tests", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/guide/utilities/bash-utilities.md b/docs/guide/utilities/bash-utilities.md index 8b1e83a..4ff5c94 100644 --- a/docs/guide/utilities/bash-utilities.md +++ b/docs/guide/utilities/bash-utilities.md @@ -5,7 +5,7 @@ The package exports `$` from the `zx` library for executing shell commands. ## Usage ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## Basic Commands @@ -44,8 +44,8 @@ try { ## Complete Example ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { $ } from "rhdh-e2e-test-utils/utils"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; test.beforeAll(async ({ rhdh }) => { const namespace = rhdh.deploymentConfig.namespace; diff --git a/docs/guide/utilities/environment-substitution.md b/docs/guide/utilities/environment-substitution.md index a5aa4b4..825fa4f 100644 --- a/docs/guide/utilities/environment-substitution.md +++ b/docs/guide/utilities/environment-substitution.md @@ -5,7 +5,7 @@ The `envsubst` function replaces environment variable placeholders in strings. ## Usage ```typescript -import { envsubst } from "rhdh-e2e-test-utils/utils"; +import { envsubst } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## Basic Substitution @@ -52,7 +52,7 @@ backend: ``` ```typescript -import { envsubst } from "rhdh-e2e-test-utils/utils"; +import { envsubst } from "@red-hat-developer-hub/e2e-test-utils/utils"; import * as fs from "fs"; const template = fs.readFileSync("config-template.yaml", "utf-8"); @@ -83,8 +83,8 @@ If you are writing tests in the overlay repository, see [Overlay Configuration F ## Complete Example ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { envsubst } from "rhdh-e2e-test-utils/utils"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { envsubst } from "@red-hat-developer-hub/e2e-test-utils/utils"; test.beforeAll(async ({ rhdh }) => { // Set environment variables diff --git a/docs/guide/utilities/index.md b/docs/guide/utilities/index.md index 3ccb496..966102c 100644 --- a/docs/guide/utilities/index.md +++ b/docs/guide/utilities/index.md @@ -21,7 +21,7 @@ import { envsubst, mergeYamlFiles, mergeYamlFilesToFile, -} from "rhdh-e2e-test-utils/utils"; +} from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## Quick Examples @@ -29,7 +29,7 @@ import { ### Bash Commands ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; // Execute commands await $`oc get pods -n my-namespace`; @@ -42,7 +42,7 @@ console.log(result.stdout); ### Kubernetes Operations ```typescript -import { KubernetesClientHelper } from "rhdh-e2e-test-utils/utils"; +import { KubernetesClientHelper } from "@red-hat-developer-hub/e2e-test-utils/utils"; const k8s = new KubernetesClientHelper(); @@ -59,7 +59,7 @@ const url = await k8s.getRouteLocation("my-namespace", "my-route"); ### Environment Substitution ```typescript -import { envsubst } from "rhdh-e2e-test-utils/utils"; +import { envsubst } from "@red-hat-developer-hub/e2e-test-utils/utils"; const template = "API URL: ${API_URL:-http://localhost}"; const result = envsubst(template); @@ -69,7 +69,7 @@ const result = envsubst(template); ### YAML Merging ```typescript -import { mergeYamlFiles } from "rhdh-e2e-test-utils/utils"; +import { mergeYamlFiles } from "@red-hat-developer-hub/e2e-test-utils/utils"; const merged = mergeYamlFiles([ "base-config.yaml", diff --git a/docs/guide/utilities/kubernetes-client.md b/docs/guide/utilities/kubernetes-client.md index f362eb3..3be61af 100644 --- a/docs/guide/utilities/kubernetes-client.md +++ b/docs/guide/utilities/kubernetes-client.md @@ -5,7 +5,7 @@ The `KubernetesClientHelper` class provides a simplified wrapper around the Kube ## Usage ```typescript -import { KubernetesClientHelper } from "rhdh-e2e-test-utils/utils"; +import { KubernetesClientHelper } from "@red-hat-developer-hub/e2e-test-utils/utils"; const k8sClient = new KubernetesClientHelper(); ``` @@ -142,7 +142,7 @@ await k8sClient.restartDeployment("my-namespace", "backstage"); ## Complete Example ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test("kubernetes operations", async ({ rhdh }) => { const k8s = rhdh.k8sClient; diff --git a/docs/guide/utilities/plugin-metadata.md b/docs/guide/utilities/plugin-metadata.md index c6cc7af..01a8544 100644 --- a/docs/guide/utilities/plugin-metadata.md +++ b/docs/guide/utilities/plugin-metadata.md @@ -36,7 +36,7 @@ Metadata handling is **disabled** when: ### Check If Enabled ```typescript -import { shouldInjectPluginMetadata } from "rhdh-e2e-test-utils/utils"; +import { shouldInjectPluginMetadata } from "@red-hat-developer-hub/e2e-test-utils/utils"; if (shouldInjectPluginMetadata()) { console.log("Metadata handling is enabled"); @@ -48,7 +48,7 @@ if (shouldInjectPluginMetadata()) { When your `dynamic-plugins.yaml` doesn't exist, generate a complete config from all metadata files: ```typescript -import { generateDynamicPluginsConfigFromMetadata } from "rhdh-e2e-test-utils/utils"; +import { generateDynamicPluginsConfigFromMetadata } from "@red-hat-developer-hub/e2e-test-utils/utils"; const config = await generateDynamicPluginsConfigFromMetadata(); // All plugins from metadata/*.yaml are enabled by default @@ -59,7 +59,7 @@ const config = await generateDynamicPluginsConfigFromMetadata(); When you have a `dynamic-plugins.yaml`, inject metadata for listed plugins: ```typescript -import { loadAndInjectPluginMetadata } from "rhdh-e2e-test-utils/utils"; +import { loadAndInjectPluginMetadata } from "@red-hat-developer-hub/e2e-test-utils/utils"; const existingConfig = { plugins: [ @@ -82,7 +82,7 @@ const augmented = await loadAndInjectPluginMetadata(existingConfig); The utilities support various package reference formats: ```typescript -import { extractPluginName } from "rhdh-e2e-test-utils/utils"; +import { extractPluginName } from "@red-hat-developer-hub/e2e-test-utils/utils"; // All of these extract "my-plugin" extractPluginName("./dynamic-plugins/dist/my-plugin"); @@ -99,7 +99,7 @@ For custom handling, you can parse metadata files directly: import { getMetadataDirectory, parseAllMetadataFiles, -} from "rhdh-e2e-test-utils/utils"; +} from "@red-hat-developer-hub/e2e-test-utils/utils"; const metadataDir = getMetadataDirectory(); if (metadataDir) { diff --git a/docs/guide/utilities/yaml-merging.md b/docs/guide/utilities/yaml-merging.md index 4bb9704..f66fa03 100644 --- a/docs/guide/utilities/yaml-merging.md +++ b/docs/guide/utilities/yaml-merging.md @@ -5,7 +5,7 @@ The package provides utilities for merging multiple YAML files. ## Usage ```typescript -import { mergeYamlFiles, mergeYamlFilesToFile } from "rhdh-e2e-test-utils/utils"; +import { mergeYamlFiles, mergeYamlFilesToFile } from "@red-hat-developer-hub/e2e-test-utils/utils"; ``` ## `mergeYamlFiles(files)` @@ -75,8 +75,8 @@ app: ## Complete Example ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { mergeYamlFilesToFile } from "rhdh-e2e-test-utils/utils"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { mergeYamlFilesToFile } from "@red-hat-developer-hub/e2e-test-utils/utils"; import * as path from "path"; test.beforeAll(async ({ rhdh }) => { diff --git a/docs/index.md b/docs/index.md index 5b1ffd1..068c91a 100644 --- a/docs/index.md +++ b/docs/index.md @@ -41,7 +41,7 @@ features: ```typescript // playwright.config.ts -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ projects: [{ name: "my-plugin" }], @@ -50,7 +50,7 @@ export default defineConfig({ ```typescript // tests/my-plugin.spec.ts -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ auth: "keycloak" }); @@ -74,9 +74,9 @@ If you're working in `rhdh-plugin-export-overlays`, start with [Overlay Testing] Otherwise, start with the [Guide](/guide/). ::: -## What is rhdh-e2e-test-utils? +## What is @red-hat-developer-hub/e2e-test-utils? -`rhdh-e2e-test-utils` is a comprehensive test utility package for Red Hat Developer Hub (RHDH) end-to-end testing. It provides a unified framework for: +`@red-hat-developer-hub/e2e-test-utils` is a comprehensive test utility package for Red Hat Developer Hub (RHDH) end-to-end testing. It provides a unified framework for: - **Deploying RHDH instances** to OpenShift clusters via Helm or the RHDH Operator - **Managing Keycloak** for OIDC authentication testing diff --git a/docs/overlay/examples/basic-plugin.md b/docs/overlay/examples/basic-plugin.md index 6634e5f..09f0b09 100644 --- a/docs/overlay/examples/basic-plugin.md +++ b/docs/overlay/examples/basic-plugin.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This is a minimal example of E2E tests for a simple plugin that doesn't require external services. @@ -67,7 +67,7 @@ workspaces//e2e-tests/ "eslint-plugin-check-file": "^3.3.1", "eslint-plugin-playwright": "^2.4.0", "prettier": "^3.7.4", - "rhdh-e2e-test-utils": "1.1.10", + "@red-hat-developer-hub/e2e-test-utils": "1.1.10", "typescript": "^5.9.3", "typescript-eslint": "^8.50.0" } @@ -77,7 +77,7 @@ workspaces//e2e-tests/ ### playwright.config.ts ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -95,7 +95,7 @@ export default defineConfig({ ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["**/*.ts"] } ``` @@ -103,7 +103,7 @@ export default defineConfig({ ### eslint.config.js ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -122,7 +122,7 @@ Minimal configuration for a simple plugin: ```yaml # RHDH app config for -# This file merges with defaults from rhdh-e2e-test-utils +# This file merges with defaults from @red-hat-developer-hub/e2e-test-utils app: title: RHDH Test Instance @@ -139,7 +139,7 @@ app: Simple test file: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test ", () => { // Deploy RHDH once per worker @@ -188,7 +188,7 @@ test.describe("Test ", () => { For simpler tests without Keycloak: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test ", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/overlay/examples/tech-radar.md b/docs/overlay/examples/tech-radar.md index 563aeda..5534f77 100644 --- a/docs/overlay/examples/tech-radar.md +++ b/docs/overlay/examples/tech-radar.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This is a complete annotated example of E2E tests for the Tech Radar plugin in the overlay repository. @@ -70,7 +70,7 @@ workspaces/tech-radar/e2e-tests/ "eslint-plugin-check-file": "^3.3.1", "eslint-plugin-playwright": "^2.4.0", "prettier": "^3.7.4", - "rhdh-e2e-test-utils": "1.1.10", + "@red-hat-developer-hub/e2e-test-utils": "1.1.10", "typescript": "^5.9.3", "typescript-eslint": "^8.50.0" } @@ -80,14 +80,14 @@ workspaces/tech-radar/e2e-tests/ ### playwright.config.ts ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); /** * Tech Radar plugin e2e test configuration. - * Extends the base config from rhdh-e2e-test-utils. + * Extends the base config from @red-hat-developer-hub/e2e-test-utils. */ export default defineConfig({ projects: [ @@ -102,7 +102,7 @@ export default defineConfig({ ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["**/*.ts"] } ``` @@ -110,7 +110,7 @@ export default defineConfig({ ### eslint.config.js ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -210,8 +210,8 @@ deploy_test_backstage_customization_provider "$1" Complete test file with annotations: ```typescript -import { test, expect, Page } from "rhdh-e2e-test-utils/test"; -import { $ } from "rhdh-e2e-test-utils/utils"; +import { test, expect, Page } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; import path from "path"; // Path to the deployment script (relative to this file) diff --git a/docs/overlay/getting-started.md b/docs/overlay/getting-started.md index b2896cb..1bfe338 100644 --- a/docs/overlay/getting-started.md +++ b/docs/overlay/getting-started.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This guide shows how to write E2E tests for plugins in the overlay repository. @@ -12,7 +12,7 @@ This guide shows how to write E2E tests for plugins in the overlay repository. Create `playwright.config.ts`: ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -33,7 +33,7 @@ The package provides Playwright settings, timeouts, and reporter configuration. Create `tests/specs/my-plugin.spec.ts`: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test my-plugin", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/overlay/index.md b/docs/overlay/index.md index be56f93..d601687 100644 --- a/docs/overlay/index.md +++ b/docs/overlay/index.md @@ -3,7 +3,7 @@ ::: warning Different from Package Documentation This section documents how to write E2E tests **within the rhdh-plugin-export-overlays repository**. -If you want to learn how to use the `rhdh-e2e-test-utils` package in your own project, see the [Guide](/guide/). +If you want to learn how to use the `@red-hat-developer-hub/e2e-test-utils` package in your own project, see the [Guide](/guide/). ::: ## What is Overlay Testing? @@ -11,7 +11,7 @@ If you want to learn how to use the `rhdh-e2e-test-utils` package in your own pr Overlay testing refers to end-to-end tests written for plugins in the [rhdh-plugin-export-overlays](https://github.com/redhat-developer/rhdh-plugin-export-overlays) repository. These tests: - Live within workspace `e2e-tests/` directories -- Use `rhdh-e2e-test-utils` as a dependency +- Use `@red-hat-developer-hub/e2e-test-utils` as a dependency - Run in CI pipelines against overlay builds - Test overlay-specific plugin configurations @@ -28,7 +28,7 @@ Use this documentation when you are: | Aspect | Package Docs (Guide) | Overlay Docs (This Section) | |--------|---------------------|----------------------------| -| **Purpose** | How to use rhdh-e2e-test-utils in any project | How to write tests within rhdh-plugin-export-overlays | +| **Purpose** | How to use @red-hat-developer-hub/e2e-test-utils in any project | How to write tests within rhdh-plugin-export-overlays | | **Audience** | External consumers of the package | Overlay repository contributors | | **Focus** | API reference, fixtures, helpers | Repository structure, CI integration | | **Examples** | Generic plugin testing | Tech Radar, other overlay plugins | @@ -80,7 +80,7 @@ Vault / .env 1. Navigate to your plugin workspace in the overlay repository 2. Create an `e2e-tests/` directory 3. Set up the standard test structure -4. Write your specs using `rhdh-e2e-test-utils` +4. Write your specs using `@red-hat-developer-hub/e2e-test-utils` 5. Run tests locally or via CI See [Getting Started](./getting-started) for a step-by-step walkthrough. diff --git a/docs/overlay/reference/environment-variables.md b/docs/overlay/reference/environment-variables.md index 6cea005..bd38e6a 100644 --- a/docs/overlay/reference/environment-variables.md +++ b/docs/overlay/reference/environment-variables.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page documents all environment variables used in overlay E2E tests. diff --git a/docs/overlay/reference/patterns.md b/docs/overlay/reference/patterns.md index 391c33d..84c4f98 100644 --- a/docs/overlay/reference/patterns.md +++ b/docs/overlay/reference/patterns.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page documents common testing patterns used in overlay E2E tests. @@ -51,7 +51,7 @@ test.describe("Plugin tests", () => { ### Setup with External Service ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; import path from "path"; const setupScript = path.join(import.meta.dirname, "deploy-service.sh"); @@ -351,7 +351,7 @@ See [Page Objects Guide](/guide/page-objects/) for usage and available methods. For programmatic catalog or GitHub API operations, use `APIHelper`: ```typescript -import { APIHelper } from "rhdh-e2e-test-utils/helpers"; +import { APIHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test("verify catalog", async ({ rhdh }) => { const apiHelper = new APIHelper(); diff --git a/docs/overlay/reference/scripts.md b/docs/overlay/reference/scripts.md index b56f358..26a42e2 100644 --- a/docs/overlay/reference/scripts.md +++ b/docs/overlay/reference/scripts.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page documents the standard scripts available in overlay E2E test packages. diff --git a/docs/overlay/reference/troubleshooting.md b/docs/overlay/reference/troubleshooting.md index 0a1d3af..e7f08f7 100644 --- a/docs/overlay/reference/troubleshooting.md +++ b/docs/overlay/reference/troubleshooting.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page covers common issues and solutions for overlay E2E tests. @@ -36,7 +36,7 @@ corepack enable npm install -g yarn ``` -### "Cannot find module 'rhdh-e2e-test-utils'" +### "Cannot find module '@red-hat-developer-hub/e2e-test-utils'" **Problem:** Dependencies not installed. @@ -318,7 +318,7 @@ page.on("pageerror", err => console.log(err)); If you're still stuck: 1. Check the [Playwright documentation](https://playwright.dev/docs/intro) -2. Review [rhdh-e2e-test-utils documentation](/guide/) +2. Review [@red-hat-developer-hub/e2e-test-utils documentation](/guide/) 3. Check the overlay repository issues 4. Ask in the team chat diff --git a/docs/overlay/repository-structure.md b/docs/overlay/repository-structure.md index a82a311..79b3fb3 100644 --- a/docs/overlay/repository-structure.md +++ b/docs/overlay/repository-structure.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page explains the structure of the rhdh-plugin-export-overlays repository and where E2E tests fit within it. @@ -60,7 +60,7 @@ workspaces// The `e2e-tests/` directory is a standalone package within the workspace. It: - Has its own `package.json` and dependencies -- Uses `rhdh-e2e-test-utils` as the primary testing framework +- Uses `@red-hat-developer-hub/e2e-test-utils` as the primary testing framework - Is independent from the plugin source code - Can be run locally or in CI @@ -111,9 +111,9 @@ Deployment scripts (`.sh` files) can be placed anywhere in the `e2e-tests/` dire The location doesn't matter as long as you reference the correct path in your test code. -## Relationship with rhdh-e2e-test-utils +## Relationship with @red-hat-developer-hub/e2e-test-utils -The overlay E2E tests consume `rhdh-e2e-test-utils` as a dependency: +The overlay E2E tests consume `@red-hat-developer-hub/e2e-test-utils` as a dependency: ``` ┌─────────────────────────────────────────────────────────┐ @@ -125,7 +125,7 @@ The overlay E2E tests consume `rhdh-e2e-test-utils` as a dependency: │ │ │ │ │ │ │ │ │ │ imports │ │ │ │ │ │ ▼ │ │ │ -│ │ │ rhdh-e2e-test-utils │ │ │ +│ │ │ @red-hat-developer-hub/e2e-test-utils │ │ │ │ │ │ ┌───────────────────────────────┐ │ │ │ │ │ │ │ • test fixtures │ │ │ │ │ │ │ │ • playwright config │ │ │ │ diff --git a/docs/overlay/test-structure/configuration-files.md b/docs/overlay/test-structure/configuration-files.md index 7479d3f..3dfe583 100644 --- a/docs/overlay/test-structure/configuration-files.md +++ b/docs/overlay/test-structure/configuration-files.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page explains the YAML configuration files used in overlay E2E tests. @@ -34,7 +34,7 @@ tests/config/ ## app-config-rhdh.yaml (Optional) -The main RHDH configuration file. This file is merged with default configurations from `rhdh-e2e-test-utils`. +The main RHDH configuration file. This file is merged with default configurations from `@red-hat-developer-hub/e2e-test-utils`. **Only create this file when you need to:** - Override a default value in the RHDH app config @@ -51,7 +51,7 @@ The main RHDH configuration file. This file is merged with default configuration ```yaml # RHDH app config file -# This file merges with the default values from rhdh-e2e-test-utils +# This file merges with the default values from @red-hat-developer-hub/e2e-test-utils app: title: RHDH Test Instance @@ -353,11 +353,11 @@ OCI URL generation is strict - deployment will fail if required files are missin ## Configuration Merging -`rhdh-e2e-test-utils` merges your configuration with defaults in this order: +`@red-hat-developer-hub/e2e-test-utils` merges your configuration with defaults in this order: -1. **Base defaults** from `rhdh-e2e-test-utils/config/common/` -2. **Auth-specific** from `rhdh-e2e-test-utils/config/auth/{guest,keycloak}/` -3. **Deployment method** from `rhdh-e2e-test-utils/config/{helm,operator}/` +1. **Base defaults** from `@red-hat-developer-hub/e2e-test-utils/config/common/` +2. **Auth-specific** from `@red-hat-developer-hub/e2e-test-utils/config/auth/{guest,keycloak}/` +3. **Deployment method** from `@red-hat-developer-hub/e2e-test-utils/config/{helm,operator}/` 4. **Your custom config** from `tests/config/` Later files override earlier ones using deep merge. diff --git a/docs/overlay/test-structure/directory-layout.md b/docs/overlay/test-structure/directory-layout.md index c5f441d..8c169cb 100644 --- a/docs/overlay/test-structure/directory-layout.md +++ b/docs/overlay/test-structure/directory-layout.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page documents the standard directory layout for E2E tests in overlay workspaces. @@ -67,7 +67,7 @@ Defines the test package with dependencies and scripts: "eslint-plugin-check-file": "^3.3.1", "eslint-plugin-playwright": "^2.4.0", "prettier": "^3.7.4", - "rhdh-e2e-test-utils": "1.1.10", + "@red-hat-developer-hub/e2e-test-utils": "1.1.10", "typescript": "^5.9.3", "typescript-eslint": "^8.50.0" } @@ -76,10 +76,10 @@ Defines the test package with dependencies and scripts: ### playwright.config.ts -Extends the base configuration from `rhdh-e2e-test-utils`: +Extends the base configuration from `@red-hat-developer-hub/e2e-test-utils`: ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -99,7 +99,7 @@ Extends TypeScript configuration from the package: ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["**/*.ts"] } ``` @@ -109,7 +109,7 @@ Extends TypeScript configuration from the package: Uses the ESLint configuration factory: ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -159,10 +159,10 @@ Contains test specification files and optional deployment scripts. ### \.spec.ts -Main test file using Playwright and rhdh-e2e-test-utils fixtures: +Main test file using Playwright and @red-hat-developer-hub/e2e-test-utils fixtures: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test ", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/overlay/test-structure/spec-files.md b/docs/overlay/test-structure/spec-files.md index 4e4240b..79fe1f0 100644 --- a/docs/overlay/test-structure/spec-files.md +++ b/docs/overlay/test-structure/spec-files.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This page explains how to write test specification files for overlay E2E tests. @@ -23,7 +23,7 @@ tests/specs/ A typical spec file follows this structure: ```typescript -import { test, expect, Page } from "rhdh-e2e-test-utils/test"; +import { test, expect, Page } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test ", () => { // Setup: Deploy RHDH once per worker @@ -46,14 +46,14 @@ test.describe("Test ", () => { ## Imports -Import test utilities from `rhdh-e2e-test-utils`: +Import test utilities from `@red-hat-developer-hub/e2e-test-utils`: ```typescript // Core test fixtures -import { test, expect, Page } from "rhdh-e2e-test-utils/test"; +import { test, expect, Page } from "@red-hat-developer-hub/e2e-test-utils/test"; // Utility functions -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; // Node.js modules import path from "path"; @@ -102,7 +102,7 @@ Some plugins require external services to be running before RHDH starts. For exa 4. Deploy RHDH (uses the environment variable in its configuration) ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; import path from "path"; const setupScript = path.join( @@ -238,8 +238,8 @@ test("Verify radar sections", async ({ page }) => { Complete spec file from the tech-radar workspace: ```typescript -import { test, expect, Page } from "rhdh-e2e-test-utils/test"; -import { $ } from "rhdh-e2e-test-utils/utils"; +import { test, expect, Page } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; import path from "path"; const setupScript = path.join( diff --git a/docs/overlay/tutorials/ci-pipeline.md b/docs/overlay/tutorials/ci-pipeline.md index 4109f4b..af188ba 100644 --- a/docs/overlay/tutorials/ci-pipeline.md +++ b/docs/overlay/tutorials/ci-pipeline.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This tutorial explains how E2E tests integrate with the OpenShift CI pipeline in the overlay repository. diff --git a/docs/overlay/tutorials/custom-deployment.md b/docs/overlay/tutorials/custom-deployment.md index 75f95ba..6e61ba6 100644 --- a/docs/overlay/tutorials/custom-deployment.md +++ b/docs/overlay/tutorials/custom-deployment.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: Some plugins require external services or dependencies to be running before RHDH starts. This page explains how to handle such pre-requisites. @@ -45,7 +45,7 @@ test.beforeAll(async ({ rhdh }) => { You can deploy pre-requisites directly in TypeScript using the Kubernetes client: ```typescript -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { const project = rhdh.deploymentConfig.namespace; @@ -76,8 +76,8 @@ test.beforeAll(async ({ rhdh }) => { For OpenShift-specific operations, use the `$` utility: ```typescript -import { test } from "rhdh-e2e-test-utils/test"; -import { $ } from "rhdh-e2e-test-utils/utils"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; test.beforeAll(async ({ rhdh }) => { const project = rhdh.deploymentConfig.namespace; @@ -103,7 +103,7 @@ test.beforeAll(async ({ rhdh }) => { For complex deployments, you can use a separate script file: ```typescript -import { $ } from "rhdh-e2e-test-utils/utils"; +import { $ } from "@red-hat-developer-hub/e2e-test-utils/utils"; import path from "path"; const setupScript = path.join(import.meta.dirname, "deploy-service.sh"); diff --git a/docs/overlay/tutorials/new-workspace.md b/docs/overlay/tutorials/new-workspace.md index 8a1f0ab..0bb01ae 100644 --- a/docs/overlay/tutorials/new-workspace.md +++ b/docs/overlay/tutorials/new-workspace.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This tutorial walks you through adding E2E tests to a new plugin workspace in the overlay repository. @@ -63,7 +63,7 @@ Create `package.json` with the following content: "eslint-plugin-check-file": "^3.3.1", "eslint-plugin-playwright": "^2.4.0", "prettier": "^3.7.4", - "rhdh-e2e-test-utils": "", + "@red-hat-developer-hub/e2e-test-utils": "", "typescript": "^5.9.3", "typescript-eslint": "^8.50.0" } @@ -78,7 +78,7 @@ Replate `` with the latest available version of this library. ### playwright.config.ts ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -96,7 +96,7 @@ export default defineConfig({ ```json { - "extends": "rhdh-e2e-test-utils/tsconfig", + "extends": "@red-hat-developer-hub/e2e-test-utils/tsconfig", "include": ["**/*.ts"] } ``` @@ -104,7 +104,7 @@ export default defineConfig({ ### eslint.config.js ```javascript -import { createEslintConfig } from "rhdh-e2e-test-utils/eslint"; +import { createEslintConfig } from "@red-hat-developer-hub/e2e-test-utils/eslint"; export default createEslintConfig(import.meta.dirname); ``` @@ -128,7 +128,7 @@ touch .env Create `tests/specs/.spec.ts`: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test ", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/overlay/tutorials/plugin-config.md b/docs/overlay/tutorials/plugin-config.md index 6ed755e..c28aa7c 100644 --- a/docs/overlay/tutorials/plugin-config.md +++ b/docs/overlay/tutorials/plugin-config.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This tutorial explains how to configure plugin-specific settings for your E2E tests. @@ -57,7 +57,7 @@ techRadar: ```yaml # rhdh app config file -# This file merges with defaults from rhdh-e2e-test-utils +# This file merges with defaults from @red-hat-developer-hub/e2e-test-utils app: title: RHDH Tech Radar Test Instance @@ -215,9 +215,9 @@ plugins: Your configuration files are merged with defaults in this order: -1. `rhdh-e2e-test-utils/config/common/` - Base defaults -2. `rhdh-e2e-test-utils/config/auth/{guest,keycloak}/` - Auth-specific -3. `rhdh-e2e-test-utils/config/{helm,operator}/` - Deployment method +1. `@red-hat-developer-hub/e2e-test-utils/config/common/` - Base defaults +2. `@red-hat-developer-hub/e2e-test-utils/config/auth/{guest,keycloak}/` - Auth-specific +3. `@red-hat-developer-hub/e2e-test-utils/config/{helm,operator}/` - Deployment method 4. Your `tests/config/` files - Your customizations Later files override earlier ones. diff --git a/docs/overlay/tutorials/running-locally.md b/docs/overlay/tutorials/running-locally.md index b9f34dc..ca7b110 100644 --- a/docs/overlay/tutorials/running-locally.md +++ b/docs/overlay/tutorials/running-locally.md @@ -2,7 +2,7 @@ ::: tip Overlay Documentation This page covers writing tests within rhdh-plugin-export-overlays. -For using rhdh-e2e-test-utils in external projects, see the [Guide](/guide/). +For using @red-hat-developer-hub/e2e-test-utils in external projects, see the [Guide](/guide/). ::: This tutorial covers the local development workflow for overlay E2E tests. @@ -96,7 +96,7 @@ Reports are saved to `playwright-report/`: Create or modify `tests/specs/.spec.ts`: ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Test ", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/package.json b/docs/package.json index dfe707b..108e663 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,8 +1,8 @@ { - "name": "rhdh-e2e-test-utils-docs", + "name": "@red-hat-developer-hub/e2e-test-utils-docs", "version": "1.0.0", "private": true, - "description": "Documentation for rhdh-e2e-test-utils", + "description": "Documentation for @red-hat-developer-hub/e2e-test-utils", "type": "module", "scripts": { "dev": "vitepress dev", diff --git a/docs/snippets/basic-test.ts b/docs/snippets/basic-test.ts index cdac40a..83e5e90 100644 --- a/docs/snippets/basic-test.ts +++ b/docs/snippets/basic-test.ts @@ -1,4 +1,4 @@ -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("RHDH Basic Tests", () => { test("should load the home page", async ({ uiHelper }) => { diff --git a/docs/snippets/error-handling.ts b/docs/snippets/error-handling.ts index 3e907a2..45b5dd3 100644 --- a/docs/snippets/error-handling.ts +++ b/docs/snippets/error-handling.ts @@ -1,4 +1,4 @@ -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Error Handling Patterns", () => { test("handling API errors gracefully", async ({ apiHelper }) => { diff --git a/docs/snippets/global-setup.ts b/docs/snippets/global-setup.ts index ef407b1..9256b43 100644 --- a/docs/snippets/global-setup.ts +++ b/docs/snippets/global-setup.ts @@ -1,4 +1,4 @@ -import { RHDHDeployment } from "rhdh-e2e-test-utils/rhdh"; +import { RHDHDeployment } from "@red-hat-developer-hub/e2e-test-utils/rhdh"; async function globalSetup() { const deployment = new RHDHDeployment({ diff --git a/docs/snippets/guest-test.ts b/docs/snippets/guest-test.ts index 8422687..864c3a3 100644 --- a/docs/snippets/guest-test.ts +++ b/docs/snippets/guest-test.ts @@ -1,4 +1,4 @@ -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Guest Authentication Tests", () => { test.beforeEach(async ({ loginHelper }) => { diff --git a/docs/snippets/keycloak-test.ts b/docs/snippets/keycloak-test.ts index 8b7701a..dbadcd8 100644 --- a/docs/snippets/keycloak-test.ts +++ b/docs/snippets/keycloak-test.ts @@ -1,4 +1,4 @@ -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Keycloak Authentication Tests", () => { test.beforeEach(async ({ loginHelper }) => { diff --git a/docs/snippets/playwright-config.ts b/docs/snippets/playwright-config.ts index 36f900f..10b1449 100644 --- a/docs/snippets/playwright-config.ts +++ b/docs/snippets/playwright-config.ts @@ -1,5 +1,5 @@ import { defineConfig } from "@playwright/test"; -import { baseConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { baseConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ ...baseConfig, diff --git a/docs/snippets/serial-vs-parallel.ts b/docs/snippets/serial-vs-parallel.ts index 370beca..b3df3af 100644 --- a/docs/snippets/serial-vs-parallel.ts +++ b/docs/snippets/serial-vs-parallel.ts @@ -5,7 +5,7 @@ // Tests run independently and can run concurrently // Best for: Independent tests, faster execution -import { test } from "rhdh-e2e-test-utils/test"; +import { test } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("Parallel Tests", () => { test.beforeEach(async ({ loginHelper }) => { @@ -29,7 +29,7 @@ test.describe("Parallel Tests", () => { // Tests run sequentially in order // Best for: Workflow tests, resource efficiency -import { setupBrowser, UIhelper, LoginHelper } from "rhdh-e2e-test-utils/helpers"; +import { setupBrowser, UIhelper, LoginHelper } from "@red-hat-developer-hub/e2e-test-utils/helpers"; test.describe.configure({ mode: "serial" }); diff --git a/docs/tutorials/custom-page-objects.md b/docs/tutorials/custom-page-objects.md index 05a3154..c1e5e95 100644 --- a/docs/tutorials/custom-page-objects.md +++ b/docs/tutorials/custom-page-objects.md @@ -89,7 +89,7 @@ export class TechRadarPage { ## Using in Tests ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; import { TechRadarPage } from "../pages/tech-radar-page"; test.describe("Tech Radar", () => { @@ -123,7 +123,7 @@ test.describe("Tech Radar", () => { ## Extending Built-in Page Objects ```typescript -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; import { Page, expect } from "@playwright/test"; export class ExtendedCatalogPage extends CatalogPage { @@ -146,7 +146,7 @@ export class ExtendedCatalogPage extends CatalogPage { ```typescript import { Page } from "@playwright/test"; -import { CatalogPage } from "rhdh-e2e-test-utils/pages"; +import { CatalogPage } from "@red-hat-developer-hub/e2e-test-utils/pages"; import { TechRadarPage } from "./tech-radar-page"; export class AppPages { diff --git a/docs/tutorials/first-test.md b/docs/tutorials/first-test.md index 6a1c3fb..f15b7ce 100644 --- a/docs/tutorials/first-test.md +++ b/docs/tutorials/first-test.md @@ -1,6 +1,6 @@ # Your First Test -Create your first E2E test for RHDH using `rhdh-e2e-test-utils`. +Create your first E2E test for RHDH using `@red-hat-developer-hub/e2e-test-utils`. ::: tip Quick Start Available For a faster setup, see the [Quick Start Guide](/guide/quick-start.md). This tutorial provides more detailed explanations for each step. @@ -19,7 +19,7 @@ Before continuing, complete the project scaffolding in [Quick Start](/guide/quic **tests/specs/first-test.spec.ts:** ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("My First Test Suite", () => { test.beforeAll(async ({ rhdh }) => { diff --git a/docs/tutorials/keycloak-oidc-testing.md b/docs/tutorials/keycloak-oidc-testing.md index 2c25999..c861df7 100644 --- a/docs/tutorials/keycloak-oidc-testing.md +++ b/docs/tutorials/keycloak-oidc-testing.md @@ -58,7 +58,7 @@ test.beforeEach(async ({ page, loginHelper }) => { ## Creating Custom Users ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; test.beforeAll(async ({ rhdh }) => { const keycloak = new KeycloakHelper(); @@ -154,7 +154,7 @@ test("should handle expired session", async ({ page, loginHelper }) => { ## Cleanup ```typescript -import { KeycloakHelper } from "rhdh-e2e-test-utils/keycloak"; +import { KeycloakHelper } from "@red-hat-developer-hub/e2e-test-utils/keycloak"; test.afterAll(async () => { const keycloak = new KeycloakHelper(); diff --git a/docs/tutorials/multi-project-setup.md b/docs/tutorials/multi-project-setup.md index 7ea9d73..44fac34 100644 --- a/docs/tutorials/multi-project-setup.md +++ b/docs/tutorials/multi-project-setup.md @@ -13,7 +13,7 @@ Configure multiple Playwright projects for different test scenarios. **playwright.config.ts:** ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -78,7 +78,7 @@ Each project gets its own namespace derived from the project name: **tests/tech-radar/specs/tech-radar.spec.ts:** ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.beforeAll(async ({ rhdh }) => { await rhdh.configure({ diff --git a/docs/tutorials/plugin-testing.md b/docs/tutorials/plugin-testing.md index 668c6b2..38aead1 100644 --- a/docs/tutorials/plugin-testing.md +++ b/docs/tutorials/plugin-testing.md @@ -17,14 +17,14 @@ This tutorial covers: cd your-plugin-workspace mkdir e2e-tests && cd e2e-tests yarn init -y -yarn add @playwright/test rhdh-e2e-test-utils typescript dotenv +yarn add @playwright/test @red-hat-developer-hub/e2e-test-utils typescript dotenv ``` ## Step 2: Configuration **playwright.config.ts:** ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; import dotenv from "dotenv"; dotenv.config({ path: `${import.meta.dirname}/.env` }); @@ -98,7 +98,7 @@ See [Plugin Metadata Injection](/guide/configuration/config-files#plugin-metadat **tests/specs/my-plugin.spec.ts:** ```typescript -import { test, expect } from "rhdh-e2e-test-utils/test"; +import { test, expect } from "@red-hat-developer-hub/e2e-test-utils/test"; test.describe("My Plugin", () => { test.beforeAll(async ({ rhdh }) => { @@ -229,7 +229,7 @@ test("debug test", async ({ page }) => { ### Slow Down ```typescript -import { defineConfig } from "rhdh-e2e-test-utils/playwright-config"; +import { defineConfig } from "@red-hat-developer-hub/e2e-test-utils/playwright-config"; export default defineConfig({ use: { diff --git a/docs/yarn.lock b/docs/yarn.lock index 0a0ea95..4ff7bab 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -511,6 +511,14 @@ __metadata: languageName: node linkType: hard +"@red-hat-developer-hub/e2e-test-utils-docs@workspace:.": + version: 0.0.0-use.local + resolution: "@red-hat-developer-hub/e2e-test-utils-docs@workspace:." + dependencies: + vitepress: ^1.5.0 + languageName: unknown + linkType: soft + "@rollup/rollup-android-arm-eabi@npm:4.55.1": version: 4.55.1 resolution: "@rollup/rollup-android-arm-eabi@npm:4.55.1" @@ -1885,14 +1893,6 @@ __metadata: languageName: node linkType: hard -"rhdh-e2e-test-utils-docs@workspace:.": - version: 0.0.0-use.local - resolution: "rhdh-e2e-test-utils-docs@workspace:." - dependencies: - vitepress: ^1.5.0 - languageName: unknown - linkType: soft - "rollup@npm:^4.20.0": version: 4.55.1 resolution: "rollup@npm:4.55.1" diff --git a/package.json b/package.json index 1e00e61..011ce01 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "rhdh-e2e-test-utils", + "name": "@red-hat-developer-hub/e2e-test-utils", "version": "1.1.10", "description": "Test utilities for RHDH E2E tests", "license": "Apache-2.0", @@ -41,6 +41,9 @@ "default": "./dist/deployment/keycloak/index.js" } }, + "publishConfig": { + "access": "public" + }, "files": [ "dist", "tsconfig.base.json" diff --git a/yarn.lock b/yarn.lock index 06e490b..ec23cc0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -322,6 +322,38 @@ __metadata: languageName: node linkType: hard +"@red-hat-developer-hub/e2e-test-utils@workspace:.": + version: 0.0.0-use.local + resolution: "@red-hat-developer-hub/e2e-test-utils@workspace:." + dependencies: + "@axe-core/playwright": ^4.11.0 + "@backstage/catalog-model": 1.7.5 + "@eslint/js": ^9.39.1 + "@keycloak/keycloak-admin-client": ^26.0.0 + "@kubernetes/client-node": ^1.4.0 + "@playwright/test": ^1.57.0 + "@types/fs-extra": ^11.0.4 + "@types/js-yaml": ^4.0.9 + "@types/lodash.clonedeepwith": ^4.5.9 + "@types/lodash.mergewith": ^4.6.9 + "@types/node": ^24.10.1 + eslint: ^9.39.1 + eslint-plugin-check-file: ^3.3.1 + eslint-plugin-playwright: ^2.4.0 + fs-extra: ^11.3.2 + js-yaml: ^4.1.1 + lodash.clonedeepwith: ^4.5.0 + lodash.mergewith: ^4.6.2 + otplib: 12.0.1 + prettier: ^3.7.4 + typescript: ^5.9.3 + typescript-eslint: ^8.48.1 + zx: ^8.8.5 + peerDependencies: + "@playwright/test": ^1.57.0 + languageName: unknown + linkType: soft + "@types/estree@npm:^1.0.6": version: 1.0.8 resolution: "@types/estree@npm:1.0.8" @@ -2132,38 +2164,6 @@ __metadata: languageName: node linkType: hard -"rhdh-e2e-test-utils@workspace:.": - version: 0.0.0-use.local - resolution: "rhdh-e2e-test-utils@workspace:." - dependencies: - "@axe-core/playwright": ^4.11.0 - "@backstage/catalog-model": 1.7.5 - "@eslint/js": ^9.39.1 - "@keycloak/keycloak-admin-client": ^26.0.0 - "@kubernetes/client-node": ^1.4.0 - "@playwright/test": ^1.57.0 - "@types/fs-extra": ^11.0.4 - "@types/js-yaml": ^4.0.9 - "@types/lodash.clonedeepwith": ^4.5.9 - "@types/lodash.mergewith": ^4.6.9 - "@types/node": ^24.10.1 - eslint: ^9.39.1 - eslint-plugin-check-file: ^3.3.1 - eslint-plugin-playwright: ^2.4.0 - fs-extra: ^11.3.2 - js-yaml: ^4.1.1 - lodash.clonedeepwith: ^4.5.0 - lodash.mergewith: ^4.6.2 - otplib: 12.0.1 - prettier: ^3.7.4 - typescript: ^5.9.3 - typescript-eslint: ^8.48.1 - zx: ^8.8.5 - peerDependencies: - "@playwright/test": ^1.57.0 - languageName: unknown - linkType: soft - "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" From 3a9f399223e7e542374596100cb2fdb0f70ad81f Mon Sep 17 00:00:00 2001 From: Subhash Khileri Date: Mon, 16 Feb 2026 18:31:42 +0530 Subject: [PATCH 2/2] Rename package to @red-hat-developer-hub/e2e-test-utils --- .github/workflows/publish-npm.yml | 2 +- package.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 57affe8..e979101 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -32,7 +32,7 @@ jobs: run: yarn config set npmPublishRegistry "https://registry.npmjs.org" - name: Publish - run: yarn npm publish --access public + run: yarn npm publish env: NODE_AUTH_TOKEN: ${{ secrets.RHDH_NPM_TOKEN }} YARN_NPM_AUTH_TOKEN: ${{ secrets.RHDH_NPM_TOKEN }} diff --git a/package.json b/package.json index 011ce01..5b9ca7c 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,11 @@ "version": "1.1.10", "description": "Test utilities for RHDH E2E tests", "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "git+https://github.com/redhat-developer/rhdh-e2e-test-utils.git", + "directory": "." + }, "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts",