From 1ef3f2930f4527518b9888429d50d7e9ae7a8435 Mon Sep 17 00:00:00 2001 From: pranavexe Date: Tue, 24 Feb 2026 17:10:15 +0530 Subject: [PATCH 1/8] Initial Playwright QA setup --- .gitignore | 10 +- auth.json | 14 + cypress/support/Actions/auth/LoginActions.ts | 1 - mirage/factories/sbom-component.ts | 2 + package-lock.json | 513 ++++++++----------- package.json | 3 + playwright.config.ts | 16 + playwright/Actions/loginActions.ts | 28 + playwright/auth.spec.ts | 30 ++ playwright/setup/auth.setup.spec.ts | 13 + playwright/unauth.spec.ts | 20 + 11 files changed, 352 insertions(+), 298 deletions(-) create mode 100644 auth.json create mode 100644 playwright.config.ts create mode 100644 playwright/Actions/loginActions.ts create mode 100644 playwright/auth.spec.ts create mode 100644 playwright/setup/auth.setup.spec.ts create mode 100644 playwright/unauth.spec.ts diff --git a/.gitignore b/.gitignore index b6d8f8af2d..95dd92e702 100644 --- a/.gitignore +++ b/.gitignore @@ -47,4 +47,12 @@ cypress.env.json /cypress/downloads/ /cypress/snapshots/actual -/cypress/snapshots/diff \ No newline at end of file +/cypress/snapshots/diff + +# Playwright +node_modules/ +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ +/playwright/.auth/ diff --git a/auth.json b/auth.json new file mode 100644 index 0000000000..45ed451214 --- /dev/null +++ b/auth.json @@ -0,0 +1,14 @@ +{ + "cookies": [], + "origins": [ + { + "origin": "https://sherlockprivacy.qa.do.appknox.io", + "localStorage": [ + { + "name": "ember_simple_auth-session", + "value": "{\"authenticated\":{\"authenticator\":\"authenticator:irene\",\"token\":\"653b5bbdfffd105d36fce72207778e3b060f379bc87316ca18334e62988fa11f\",\"user_id\":1,\"b64token\":\"MTo2NTNiNWJiZGZmZmQxMDVkMzZmY2U3MjIwNzc3OGUzYjA2MGYzNzliYzg3MzE2Y2ExODMzNGU2Mjk4OGZhMTFm\"}}" + } + ] + } + ] +} \ No newline at end of file diff --git a/cypress/support/Actions/auth/LoginActions.ts b/cypress/support/Actions/auth/LoginActions.ts index f2778975a3..faed2a655d 100644 --- a/cypress/support/Actions/auth/LoginActions.ts +++ b/cypress/support/Actions/auth/LoginActions.ts @@ -98,7 +98,6 @@ export default class LoginActions { ).should('not.exist'); // Username/Email field cy.findByLabelText('login-next-button').should('not.exist'); // User check buttons - // Validate presence of access token in localStorage. cy.window() .its('localStorage') diff --git a/mirage/factories/sbom-component.ts b/mirage/factories/sbom-component.ts index 330278c46b..721b8e17c3 100644 --- a/mirage/factories/sbom-component.ts +++ b/mirage/factories/sbom-component.ts @@ -58,3 +58,5 @@ export default Factory.extend({ remediation: () => faker.lorem.paragraphs(), }); + + diff --git a/package-lock.json b/package-lock.json index 2d1070c346..ffb821a224 100644 --- a/package-lock.json +++ b/package-lock.json @@ -52,6 +52,7 @@ "@iconify-json/ph": "^1.2.2", "@iconify-json/solar": "^1.2.4", "@iconify/utils": "^3.0.1", + "@playwright/test": "^1.58.2", "@storybook/addon-actions": "8.4.6", "@storybook/addon-docs": "8.4.6", "@storybook/addon-essentials": "8.4.6", @@ -63,6 +64,7 @@ "@storybook/manager-webpack5": "6.5.16", "@testing-library/cypress": "^10.0.1", "@tsconfig/ember": "^3.0.4", + "@types/dotenv": "^6.1.1", "@types/ember": "^4.0.11", "@types/ember__application": "^4.0.11", "@types/ember__array": "^4.0.10", @@ -91,6 +93,7 @@ "@types/ember-qunit": "^6.1.1", "@types/ember-resolver": "^9.0.0", "@types/jquery": "^3.5.25", + "@types/node": "^25.3.0", "@types/qunit": "^2.19.10", "@types/rsvp": "^4.0.9", "@typescript-eslint/eslint-plugin": "^7.0.2", @@ -1464,6 +1467,7 @@ "version": "4.47.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -1584,6 +1588,7 @@ "node_modules/@babel/core": { "version": "7.26.0", "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.0", @@ -3402,6 +3407,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": "^14 || ^16 || >=18" }, @@ -3423,6 +3429,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": "^14 || ^16 || >=18" } @@ -3562,6 +3569,7 @@ "resolved": "https://registry.npmjs.org/@ember-data/graph/-/graph-5.3.9.tgz", "integrity": "sha512-mbwt7dDta7maKTsquBXpcU8hDf0Ukq9mtQNd2CPhkFgQ9YBt28NumBuiAviMr4HloOcJ8WA/GtX/RXIGP6yvEw==", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -3579,6 +3587,7 @@ "resolved": "https://registry.npmjs.org/@ember-data/json-api/-/json-api-5.3.9.tgz", "integrity": "sha512-q+x+EFAKLT0WmrDe+7J1Yx9bn/KUDLU/QwJ2Vapnve05qXOOyXgjMF6ckSXBaulDIZksGGgTegNRzPHLB4o1fg==", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -3598,6 +3607,7 @@ "resolved": "https://registry.npmjs.org/@ember-data/legacy-compat/-/legacy-compat-5.3.9.tgz", "integrity": "sha512-PGh9t+1DOwPQFJuWxuBlVFRxT7Q63pzoEvC0HXKVfL6pgvEZYPNQ6WNJ3H4MkD+zcdd6rWpCwjsdMq/VQRWfAQ==", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -3628,6 +3638,7 @@ "resolved": "https://registry.npmjs.org/@ember-data/model/-/model-5.3.9.tgz", "integrity": "sha512-cYNkxiAvTCO67FMuPDagvvs/iYr68l9Dg40qB7em1Jhy0QmwpajvxkyEaj6q/fOrGaH69KmzHJhOvu4eKGTz8Q==", "license": "MIT", + "peer": true, "dependencies": { "@ember/edition-utils": "^1.2.0", "@embroider/macros": "^1.16.6", @@ -3671,6 +3682,7 @@ "resolved": "https://registry.npmjs.org/@ember-data/request/-/request-5.3.9.tgz", "integrity": "sha512-odTe3B7eLt9HsrExkeIr6PwLP+uiS4chqu4JVxqDnCk8KpnOnbKgVnQQbIEFx8jTuv0y1vS+Jc9o6vynSV5YjQ==", "license": "MIT", + "peer": true, "dependencies": { "@ember/test-waiters": "^3.1.0", "@embroider/macros": "^1.16.6", @@ -3686,6 +3698,7 @@ "node_modules/@ember-data/request-utils": { "version": "5.3.9", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -4266,6 +4279,7 @@ "resolved": "https://registry.npmjs.org/@ember-data/store/-/store-5.3.9.tgz", "integrity": "sha512-3G24GtpgRKGlvTbF6Q6Uz/YQqxFrSfgvXpdqbSjMRu5UDd/EI7qkB+MOgD1rV6EBJ2xpic5+6a0q154lTL0dUg==", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -4283,6 +4297,7 @@ "node_modules/@ember-data/tracking": { "version": "5.3.9", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -5240,12 +5255,14 @@ }, "node_modules/@ember/string": { "version": "4.0.0", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@ember/test-helpers": { "version": "3.3.1", "devOptional": true, "license": "(MIT OR Apache-2.0)", + "peer": true, "dependencies": { "@ember/test-waiters": "^3.0.2", "@embroider/macros": "^1.10.0", @@ -5352,6 +5369,7 @@ "node_modules/@ember/test-waiters": { "version": "3.1.0", "license": "MIT", + "peer": true, "dependencies": { "calculate-cache-key-for-tree": "^2.0.0", "ember-cli-babel": "^7.26.6", @@ -7731,6 +7749,7 @@ "node_modules/@glimmer/component": { "version": "1.1.2", "license": "MIT", + "peer": true, "dependencies": { "@glimmer/di": "^0.1.9", "@glimmer/env": "^0.1.7", @@ -8569,6 +8588,7 @@ "node_modules/@glimmer/tracking": { "version": "1.1.2", "license": "MIT", + "peer": true, "dependencies": { "@glimmer/env": "^0.1.7", "@glimmer/validator": "^0.44.0" @@ -8665,6 +8685,7 @@ "version": "1.5.0", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "@glimmer/component": "^1.1.2", "@glint/template": "^1.5.0", @@ -8702,7 +8723,8 @@ }, "node_modules/@glint/template": { "version": "1.5.0", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@handlebars/parser": { "version": "2.0.0", @@ -10344,6 +10366,22 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@playwright/test": { + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz", + "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.58.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@pnpm/constants": { "version": "7.1.1", "dev": true, @@ -10789,6 +10827,23 @@ } } }, + "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { + "version": "22.19.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", + "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@storybook/channel-postmessage": { "version": "6.5.16", "dev": true, @@ -11813,6 +11868,7 @@ "version": "4.47.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -11940,6 +11996,23 @@ "storybook": "^8.4.6" } }, + "node_modules/@storybook/core-webpack/node_modules/@types/node": { + "version": "22.19.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", + "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@storybook/core-webpack/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@storybook/core/node_modules/ast-types": { "version": "0.16.1", "license": "MIT", @@ -13434,6 +13507,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13477,6 +13551,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13536,17 +13611,6 @@ "ts-mixer": "^6.0.3" } }, - "node_modules/@swagger-api/apidom-ns-api-design-systems/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-ns-api-design-systems/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -13580,17 +13644,6 @@ "ts-mixer": "^6.0.3" } }, - "node_modules/@swagger-api/apidom-ns-arazzo-1/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-ns-arazzo-1/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -13624,17 +13677,6 @@ "ts-mixer": "^6.0.3" } }, - "node_modules/@swagger-api/apidom-ns-asyncapi-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-ns-asyncapi-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -13668,17 +13710,6 @@ "ts-mixer": "^6.0.3" } }, - "node_modules/@swagger-api/apidom-ns-asyncapi-3/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-ns-asyncapi-3/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -13717,6 +13748,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13759,6 +13791,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13800,6 +13833,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13842,6 +13876,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13884,6 +13919,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -13922,17 +13958,6 @@ "ts-mixer": "^6.0.3" } }, - "node_modules/@swagger-api/apidom-ns-openapi-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-ns-openapi-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -13971,6 +13996,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -14015,6 +14041,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -14052,17 +14079,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14096,17 +14112,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14140,17 +14145,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-arazzo-json-1/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-arazzo-json-1/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14184,17 +14178,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-arazzo-yaml-1/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-arazzo-yaml-1/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14228,17 +14211,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14272,17 +14244,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-3/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-3/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14316,17 +14277,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14360,17 +14310,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-3/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-3/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14407,17 +14346,6 @@ "web-tree-sitter": "=0.24.5" } }, - "node_modules/@swagger-api/apidom-parser-adapter-json/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-json/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14451,17 +14379,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14495,17 +14412,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14539,17 +14445,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14583,17 +14478,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14627,17 +14511,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14671,17 +14544,6 @@ "ramda-adjunct": "^5.0.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14748,17 +14610,6 @@ "node": "^18 || ^20 || >= 21" } }, - "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2/node_modules/ramda": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", - "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", - "license": "MIT", - "optional": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ramda" - } - }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2/node_modules/ramda-adjunct": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.1.0.tgz", @@ -14776,18 +14627,6 @@ "ramda": ">= 0.30.0" } }, - "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2/node_modules/tree-sitter": { - "version": "0.22.4", - "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.22.4.tgz", - "integrity": "sha512-usbHZP9/oxNsUY65MQUsduGRqDHQOou1cagUSwjhoSYAmSahjQDAVsh9s+SlZkn8X8+O1FULRGwHu7AFP3kjzg==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "node-addon-api": "^8.3.0", - "node-gyp-build": "^4.8.4" - } - }, "node_modules/@swagger-api/apidom-reference": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-1.1.0.tgz", @@ -14858,6 +14697,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -15019,6 +14859,16 @@ "@types/node": "*" } }, + "node_modules/@types/dotenv": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-6.1.1.tgz", + "integrity": "sha512-ftQl3DtBvqHl9L16tpqqzA4YzCSXZfi7g8cQceTz5rOlYtk/IZbFjAv3mLOQlNIgOaylCQWQoBdDQHPgEBJPHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/ember": { "version": "4.0.11", "dev": true, @@ -15378,10 +15228,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.5", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", + "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==", "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~7.18.0" } }, "node_modules/@types/normalize-package-data": { @@ -15571,6 +15423,7 @@ "version": "7.18.0", "dev": true, "license": "BSD-2-Clause", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -15846,6 +15699,7 @@ "node_modules/@warp-drive/core-types": { "version": "0.0.0-beta.12", "license": "MIT", + "peer": true, "dependencies": { "@embroider/macros": "^1.16.6", "@warp-drive/build-config": "0.0.0-beta.7" @@ -16120,6 +15974,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -16214,6 +16069,7 @@ "node_modules/ajv": { "version": "6.12.6", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -17481,6 +17337,7 @@ "node_modules/babel-plugin-ember-modules-api-polyfill": { "version": "3.5.0", "license": "MIT", + "peer": true, "dependencies": { "ember-rfc176-data": "^0.3.17" }, @@ -17509,6 +17366,7 @@ "node_modules/babel-plugin-htmlbars-inline-precompile": { "version": "5.3.1", "license": "MIT", + "peer": true, "dependencies": { "babel-plugin-ember-modules-api-polyfill": "^3.5.0", "line-column": "^1.0.2", @@ -20626,6 +20484,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -22524,6 +22383,7 @@ "version": "13.17.0", "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "@cypress/request": "^3.0.6", "@cypress/xvfb": "^1.2.4", @@ -23689,6 +23549,7 @@ "version": "8.4.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.26.0", "@embroider/addon-shim": "^1.9.0", @@ -30603,6 +30464,7 @@ "version": "4.0.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13", "@babel/types": "^7.12.13", @@ -31432,6 +31294,7 @@ "node_modules/ember-data": { "version": "5.3.9", "license": "MIT", + "peer": true, "dependencies": { "@ember-data/adapter": "5.3.9", "@ember-data/debug": "5.3.9", @@ -35467,6 +35330,7 @@ "version": "4.0.3", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "ember-cli-babel": "^7.26.11" }, @@ -37076,6 +36940,7 @@ "version": "4.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@embroider/addon-shim": "^1.8.7", "decorator-transforms": "^2.0.0", @@ -38081,6 +37946,7 @@ "version": "8.1.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@embroider/addon-shim": "^1.8.6", "@embroider/macros": "^1.13.1", @@ -39048,6 +38914,7 @@ "node_modules/ember-source": { "version": "5.12.0", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.24.4", "@ember/edition-utils": "^1.2.0", @@ -44134,6 +44001,7 @@ "version": "8.57.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -44202,6 +44070,7 @@ "version": "9.1.0", "dev": true, "license": "MIT", + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -47402,7 +47271,8 @@ }, "node_modules/immutable": { "version": "5.0.3", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -49699,6 +49569,7 @@ "version": "0.1.48", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@miragejs/pretender-node-polyfill": "^0.1.0", "inflected": "^2.0.4", @@ -54144,6 +54015,7 @@ "integrity": "sha512-t54CUOsFMappY1Jbzb7fetWeO0n6K0k/4+/ZpkS+3Joz8I4VcvY9OiEBFRYISqaI2fq5sCiPtAjRDOzVYG8m+Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.2", @@ -54299,6 +54171,7 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", "dev": true, + "peer": true, "engines": { "node": ">=8.0.0" } @@ -54901,8 +54774,7 @@ "optional": true, "os": [ "android" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-android-arm64": { "version": "4.52.2", @@ -54915,8 +54787,7 @@ "optional": true, "os": [ "android" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-darwin-arm64": { "version": "4.52.2", @@ -54929,8 +54800,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-darwin-x64": { "version": "4.52.2", @@ -54943,8 +54813,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-freebsd-arm64": { "version": "4.52.2", @@ -54957,8 +54826,7 @@ "optional": true, "os": [ "freebsd" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-freebsd-x64": { "version": "4.52.2", @@ -54971,8 +54839,7 @@ "optional": true, "os": [ "freebsd" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm-gnueabihf": { "version": "4.52.2", @@ -54985,8 +54852,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm-musleabihf": { "version": "4.52.2", @@ -54999,8 +54865,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.52.2", @@ -55013,8 +54878,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-arm64-musl": { "version": "4.52.2", @@ -55027,8 +54891,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-loong64-gnu": { "version": "4.52.2", @@ -55041,8 +54904,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-ppc64-gnu": { "version": "4.52.2", @@ -55055,8 +54917,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-gnu": { "version": "4.52.2", @@ -55069,8 +54930,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-riscv64-musl": { "version": "4.52.2", @@ -55083,8 +54943,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-s390x-gnu": { "version": "4.52.2", @@ -55097,8 +54956,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.52.2", @@ -55111,8 +54969,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.52.2", @@ -55125,8 +54982,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-openharmony-arm64": { "version": "4.52.2", @@ -55139,8 +54995,7 @@ "optional": true, "os": [ "openharmony" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-arm64-msvc": { "version": "4.52.2", @@ -55153,8 +55008,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-ia32-msvc": { "version": "4.52.2", @@ -55167,8 +55021,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-x64-gnu": { "version": "4.52.2", @@ -55181,8 +55034,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.52.2", @@ -55195,8 +55047,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/netlify-cli/node_modules/@sec-ant/readable-stream": { "version": "0.4.1", @@ -55312,6 +55163,7 @@ "integrity": "sha512-Gd33J2XIrXurb+eT2ktze3rJAfAp9ZNjlBdh4SVgyrKEOADwCbdUDaK7QgJno8Ue4kcajscsKqu6n8OBG3hhCQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -55854,6 +55706,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -55896,6 +55749,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -59272,7 +59126,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -62519,6 +62372,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, + "peer": true, "engines": { "node": ">=12" }, @@ -62568,6 +62422,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -64568,6 +64423,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -67084,6 +66940,53 @@ "node": ">=4" } }, + "node_modules/playwright": { + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz", + "integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.58.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.58.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz", + "integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/pngjs": { "version": "6.0.0", "dev": true, @@ -67167,6 +67070,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", @@ -67346,6 +67250,7 @@ "version": "3.4.2", "devOptional": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -67757,6 +67662,7 @@ "version": "2.23.1", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "commander": "7.2.0", "node-watch": "0.7.3", @@ -67851,6 +67757,7 @@ "node_modules/react": { "version": "18.3.1", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -67897,6 +67804,7 @@ "node_modules/react-dom": { "version": "18.3.1", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -68182,7 +68090,8 @@ }, "node_modules/redux": { "version": "5.0.1", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", @@ -68893,7 +68802,8 @@ }, "node_modules/route-recognizer": { "version": "0.3.4", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/rsvp": { "version": "3.6.2", @@ -69155,6 +69065,7 @@ "node_modules/schema-utils/node_modules/ajv": { "version": "8.17.1", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -70227,6 +70138,7 @@ "node_modules/storybook": { "version": "8.4.6", "license": "MIT", + "peer": true, "dependencies": { "@storybook/core": "8.4.6" }, @@ -70644,6 +70556,7 @@ "version": "15.11.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^2.3.1", "@csstools/css-tokenizer": "^2.2.0", @@ -70881,6 +70794,7 @@ "version": "6.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -71022,6 +70936,7 @@ "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.1.tgz", "integrity": "sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==", "license": "MIT", + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/ramda" @@ -71096,6 +71011,7 @@ "node_modules/swagger-ui/node_modules/immutable": { "version": "3.8.2", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -71953,6 +71869,7 @@ "version": "3.4.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@embroider/addon-shim": "^1.8.7", "decorator-transforms": "^2.0.0", @@ -72348,6 +72265,7 @@ "version": "5.7.2", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -72428,7 +72346,9 @@ } }, "node_modules/undici-types": { - "version": "6.20.0", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "license": "MIT" }, "node_modules/unfetch": { @@ -73296,6 +73216,7 @@ "node_modules/webpack": { "version": "5.97.1", "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", diff --git a/package.json b/package.json index 5fbae752b2..f4e041cb3f 100644 --- a/package.json +++ b/package.json @@ -66,6 +66,7 @@ "@iconify-json/ph": "^1.2.2", "@iconify-json/solar": "^1.2.4", "@iconify/utils": "^3.0.1", + "@playwright/test": "^1.58.2", "@storybook/addon-actions": "8.4.6", "@storybook/addon-docs": "8.4.6", "@storybook/addon-essentials": "8.4.6", @@ -77,6 +78,7 @@ "@storybook/manager-webpack5": "6.5.16", "@testing-library/cypress": "^10.0.1", "@tsconfig/ember": "^3.0.4", + "@types/dotenv": "^6.1.1", "@types/ember": "^4.0.11", "@types/ember__application": "^4.0.11", "@types/ember__array": "^4.0.10", @@ -105,6 +107,7 @@ "@types/ember-qunit": "^6.1.1", "@types/ember-resolver": "^9.0.0", "@types/jquery": "^3.5.25", + "@types/node": "^25.3.0", "@types/qunit": "^2.19.10", "@types/rsvp": "^4.0.9", "@typescript-eslint/eslint-plugin": "^7.0.2", diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 0000000000..4775048008 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from '@playwright/test'; +import dotenv from 'dotenv'; +import path from 'path'; + +dotenv.config({ + path: path.resolve(__dirname, '.env.qa'), +}); + +export default defineConfig({ + testDir: './playwright', + use: { + baseURL: process.env.BASE_URL, + viewport: { width: 1450, height: 1650 }, + storageState: 'auth.json', + }, +}); diff --git a/playwright/Actions/loginActions.ts b/playwright/Actions/loginActions.ts new file mode 100644 index 0000000000..d373e3d648 --- /dev/null +++ b/playwright/Actions/loginActions.ts @@ -0,0 +1,28 @@ +import { Page, expect } from '@playwright/test'; + +export default class loginActions { + constructor(private page: Page) {} + + async login(username: string, password: string) { + await this.page.goto('/login'); + + await this.page + .getByPlaceholder('Enter your Username/Email ID') + .fill(username); + + const nextButton = this.page.getByRole('button', { name: 'Next' }); + await expect(nextButton).toBeEnabled(); + await nextButton.click(); + + const passwordInput = this.page.getByPlaceholder('Enter the Password'); + await expect(passwordInput).toBeVisible(); + + await passwordInput.fill(password); + + const loginButton = this.page.getByRole('button', { name: 'Login' }); + await expect(loginButton).toBeEnabled(); + await loginButton.click(); + + await expect(this.page).toHaveURL(/dashboard/); + } +} diff --git a/playwright/auth.spec.ts b/playwright/auth.spec.ts new file mode 100644 index 0000000000..aefa432b7f --- /dev/null +++ b/playwright/auth.spec.ts @@ -0,0 +1,30 @@ +import { test, expect } from '@playwright/test'; +import { skip } from 'qunit'; +import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; + +test('dashboard loads when already authenticated', async ({ page }) => { + await page.goto('/dashboard/home'); + + await expect(page).toHaveURL(/dashboard/); +}); + +test('should redirect unauthenticated user to login page', async ({ + browser, +}) => { + // Explicitly empty storage to guarantee no auth state bleeds in + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + + await page.goto(APPLICATION_ROUTES.projects); + + // Wait for the redirect to complete before asserting + await page.waitForURL(/login/, { timeout: 15000 }); + + await expect(page).toHaveURL(/login/); + await expect(page.getByText('Login to your account')).toBeVisible(); + + await context.close(); +}); diff --git a/playwright/setup/auth.setup.spec.ts b/playwright/setup/auth.setup.spec.ts new file mode 100644 index 0000000000..4be5dafc5c --- /dev/null +++ b/playwright/setup/auth.setup.spec.ts @@ -0,0 +1,13 @@ +import { test, expect } from '@playwright/test'; +import loginActions from '../Actions/loginActions'; + +test('generate auth session', async ({ page }) => { + const login = new loginActions(page); + + await login.login(process.env.TEST_USERNAME!, process.env.TEST_PASSWORD!); + + await expect(page).toHaveURL(/dashboard/); + + // Save authenticated storage + await page.context().storageState({ path: 'auth.json' }); +}); diff --git a/playwright/unauth.spec.ts b/playwright/unauth.spec.ts new file mode 100644 index 0000000000..805fe6cc73 --- /dev/null +++ b/playwright/unauth.spec.ts @@ -0,0 +1,20 @@ +// import { test, expect } from '@playwright/test'; +// import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; + +// test('should redirect unauthenticated user to login page', async ({ +// browser, +// }) => { +// // Create completely clean context +// const context = await browser.newContext(); +// const page = await context.newPage(); +// await page.goto(APPLICATION_ROUTES.projects); +// await expect(page).toHaveURL(/login/); + +// await expect(page.getByText('Login to your account')).toBeVisible(); + +// await context.close(); +// }); +import { test, expect } from '@playwright/test'; +import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; + + From 871c2ed1df3b06057aeb49bb44fe52ec90dec71d Mon Sep 17 00:00:00 2001 From: pranavexe Date: Thu, 26 Feb 2026 15:25:06 +0530 Subject: [PATCH 2/8] Refactor auth spec and update playwright config --- playwright.config.ts | 1 + playwright/auth.spec.ts | 147 +++++++++++++++++++++++++++++++++++++- playwright/unauth.spec.ts | 20 ------ 3 files changed, 146 insertions(+), 22 deletions(-) delete mode 100644 playwright/unauth.spec.ts diff --git a/playwright.config.ts b/playwright.config.ts index 4775048008..eaa1ba6dc1 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -8,6 +8,7 @@ dotenv.config({ export default defineConfig({ testDir: './playwright', + use: { baseURL: process.env.BASE_URL, viewport: { width: 1450, height: 1650 }, diff --git a/playwright/auth.spec.ts b/playwright/auth.spec.ts index aefa432b7f..1ef3c1dccc 100644 --- a/playwright/auth.spec.ts +++ b/playwright/auth.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from '@playwright/test'; -import { skip } from 'qunit'; import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; +import cyTranslate from '../cypress/support/translations'; test('dashboard loads when already authenticated', async ({ page }) => { await page.goto('/dashboard/home'); @@ -24,7 +24,150 @@ test('should redirect unauthenticated user to login page', async ({ await page.waitForURL(/login/, { timeout: 15000 }); await expect(page).toHaveURL(/login/); - await expect(page.getByText('Login to your account')).toBeVisible(); + await expect(page.getByText(cyTranslate('loginTitle'))).toBeVisible(); await context.close(); }); + +test('should show error message on failed login', async ({ browser }) => { + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + + await page.goto('/login'); + + await page + .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) + .fill('invalid_user_123'); + await page.getByRole('button', { name: 'Next' }).click(); + + await page + .getByPlaceholder(cyTranslate('passwordPlaceholder')) + .fill('wrong_password'); + await page.getByRole('button', { name: /login/i }).click(); + + await expect( + page.getByText(cyTranslate('credentialsIncorrect')) + ).toBeVisible(); + + await context.close(); +}); + +test('valid login via UI redirects to dashboard', async ({ browser }) => { + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + + await page.goto('/login'); + + await page + .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) + .fill(process.env.TEST_USERNAME!); + + await page.getByRole('button', { name: 'Next' }).click(); + + await page + .getByPlaceholder(cyTranslate('passwordPlaceholder')) + .fill(process.env.TEST_PASSWORD!); + + await page.getByRole('button', { name: /login/i }).click(); + + await page.waitForURL(/dashboard/, { timeout: 15000 }); + + await expect(page).toHaveURL(/dashboard/); + + await context.close(); +}); + +test('dashboard shows main UI elements', async ({ page }) => { + await page.goto('/dashboard/projects'); + + // await expect(page.getByText(cyTranslate('startNewScan'))).toBeVisible(); + await expect(page.getByText(cyTranslate('uploadApp'))).toBeVisible(); + await expect(page.getByText(cyTranslate('allProjects'))).toBeVisible(); + await expect( + page.getByText(cyTranslate('allProjectsDescription')) + ).toBeVisible(); +}); + +test('reset button is disabled when email is empty', async ({ browser }) => { + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + + await page.goto('/recover'); + + const resetButton = page.getByRole('button', { + name: cyTranslate('resetPassword'), + }); + + await expect(resetButton).toBeDisabled(); + + await context.close(); +}); + +test('reset button enables when email is entered', async ({ browser }) => { + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + + await page.goto('/recover'); + + const input = page.getByPlaceholder( + cyTranslate('usernameEmailIdTextPlaceholder') + ); + const resetButton = page.getByRole('button', { + name: cyTranslate('resetPassword'), + }); + + await input.fill('test@test.com'); + + await expect(resetButton).toBeEnabled(); + + await context.close(); +}); + +test('forgot password API returns 204 and shows confirmation message', async ({ + browser, +}) => { + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + + await page.goto('/recover'); + + await page + .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) + .fill('randomletters123@test.com'); + + const responsePromise = page.waitForResponse((res) => + res.url().includes('/api/v2/forgot_password') + ); + + await page + .getByRole('button', { name: cyTranslate('resetPassword') }) + .click(); + + const response = await responsePromise; + + expect(response.status()).toBe(204); + + await expect( + page.getByText(cyTranslate('resetPasswordMessageToCheck')) + ).toBeVisible(); + + await expect( + page.getByText(cyTranslate('resetPasswordMessageToRetry')) + ).toBeVisible(); + await context.close(); +}); diff --git a/playwright/unauth.spec.ts b/playwright/unauth.spec.ts deleted file mode 100644 index 805fe6cc73..0000000000 --- a/playwright/unauth.spec.ts +++ /dev/null @@ -1,20 +0,0 @@ -// import { test, expect } from '@playwright/test'; -// import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; - -// test('should redirect unauthenticated user to login page', async ({ -// browser, -// }) => { -// // Create completely clean context -// const context = await browser.newContext(); -// const page = await context.newPage(); -// await page.goto(APPLICATION_ROUTES.projects); -// await expect(page).toHaveURL(/login/); - -// await expect(page.getByText('Login to your account')).toBeVisible(); - -// await context.close(); -// }); -import { test, expect } from '@playwright/test'; -import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; - - From b622e8f855b295810235475de77e47b518135c3e Mon Sep 17 00:00:00 2001 From: pranavexe Date: Tue, 3 Mar 2026 10:54:10 +0530 Subject: [PATCH 3/8] Refactor Playwright QA framework structure - Added global setup - Restructured specs folder - Introduced auth actions structure - Added support utilities - Updated playwright config - Updated gitignore for Playwright artifacts --- .gitignore | 2 +- playwright.config.ts | 29 ++- playwright/Actions/{ => auth}/loginActions.ts | 14 +- playwright/global.setup.ts | 48 +++++ playwright/setup/auth.setup.spec.ts | 13 -- playwright/{ => specs}/auth.spec.ts | 67 ++----- playwright/support/api.routes.ts | 165 ++++++++++++++++++ playwright/support/application.routes.ts | 10 ++ playwright/support/translations.ts | 31 ++++ playwright/support/utils.ts | 90 ++++++++++ 10 files changed, 397 insertions(+), 72 deletions(-) rename playwright/Actions/{ => auth}/loginActions.ts (60%) create mode 100644 playwright/global.setup.ts delete mode 100644 playwright/setup/auth.setup.spec.ts rename playwright/{ => specs}/auth.spec.ts (61%) create mode 100644 playwright/support/api.routes.ts create mode 100644 playwright/support/application.routes.ts create mode 100644 playwright/support/translations.ts create mode 100644 playwright/support/utils.ts diff --git a/.gitignore b/.gitignore index 95dd92e702..bdc2985985 100644 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,4 @@ node_modules/ /playwright-report/ /blob-report/ /playwright/.cache/ -/playwright/.auth/ +.auth/ diff --git a/playwright.config.ts b/playwright.config.ts index eaa1ba6dc1..2fdd780e7a 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -1,3 +1,20 @@ +// import { defineConfig } from '@playwright/test'; +// import dotenv from 'dotenv'; +// import path from 'path'; + +// dotenv.config({ +// path: path.resolve(__dirname, '.env.qa'), +// }); + +// export default defineConfig({ +// testDir: './playwright', + +// use: { +// baseURL: process.env.BASE_URL, +// viewport: { width: 1450, height: 1650 }, +// storageState: 'auth.json', +// }, +// }); import { defineConfig } from '@playwright/test'; import dotenv from 'dotenv'; import path from 'path'; @@ -7,11 +24,19 @@ dotenv.config({ }); export default defineConfig({ - testDir: './playwright', + testDir: './playwright/specs', + fullyParallel: true, + retries: process.env.CI ? 1 : 0, + workers: process.env.CI ? 4 : 2, + globalSetup: './playwright/global.setup.ts', + reporter: [['html', { open: 'never' }], ['line']], use: { baseURL: process.env.BASE_URL, viewport: { width: 1450, height: 1650 }, - storageState: 'auth.json', + storageState: '.auth/user.json', + trace: 'on-first-retry', + screenshot: 'only-on-failure', + video: 'retain-on-failure', }, }); diff --git a/playwright/Actions/loginActions.ts b/playwright/Actions/auth/loginActions.ts similarity index 60% rename from playwright/Actions/loginActions.ts rename to playwright/Actions/auth/loginActions.ts index d373e3d648..c6ee4bc6d6 100644 --- a/playwright/Actions/loginActions.ts +++ b/playwright/Actions/auth/loginActions.ts @@ -1,28 +1,30 @@ +// import { Page, expect } from '@playwright/test'; +import cyTranslate from '../../../cypress/support/translations'; import { Page, expect } from '@playwright/test'; - -export default class loginActions { +export default class LoginActions { constructor(private page: Page) {} async login(username: string, password: string) { await this.page.goto('/login'); await this.page - .getByPlaceholder('Enter your Username/Email ID') + .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) .fill(username); const nextButton = this.page.getByRole('button', { name: 'Next' }); await expect(nextButton).toBeEnabled(); await nextButton.click(); - const passwordInput = this.page.getByPlaceholder('Enter the Password'); + const passwordInput = this.page.getByPlaceholder( + cyTranslate('passwordPlaceholder') + ); await expect(passwordInput).toBeVisible(); - await passwordInput.fill(password); const loginButton = this.page.getByRole('button', { name: 'Login' }); await expect(loginButton).toBeEnabled(); await loginButton.click(); - await expect(this.page).toHaveURL(/dashboard/); + await expect(this.page).toHaveURL(/dashboard/, { timeout: 15000 }); } } diff --git a/playwright/global.setup.ts b/playwright/global.setup.ts new file mode 100644 index 0000000000..52c5a8f1e5 --- /dev/null +++ b/playwright/global.setup.ts @@ -0,0 +1,48 @@ +// import { chromium } from '@playwright/test'; +// import LoginActions from './Actions/auth/loginActions'; +// import dotenv from 'dotenv'; +// import path from 'path'; + +// dotenv.config({ +// path: path.resolve(__dirname, '../.env.qa'), +// }); + +// async function globalSetup() { +// const browser = await chromium.launch(); +// const page = await browser.newPage(); + +// const login = new LoginActions(page); + +// await login.login(process.env.TEST_USERNAME!, process.env.TEST_PASSWORD!); + +// // Save auth state +// await page.context().storageState({ path: '.auth/user.json' }); +// await browser.close(); +// } + +// export default globalSetup; +import { chromium } from '@playwright/test'; +import LoginActions from './Actions/auth/loginActions'; +import dotenv from 'dotenv'; +import path from 'path'; + +dotenv.config({ + path: path.resolve(__dirname, '../.env.qa'), +}); + +async function globalSetup() { + const browser = await chromium.launch(); + const context = await browser.newContext({ + baseURL: process.env.BASE_URL, + }); + const page = await context.newPage(); + + const login = new LoginActions(page); + + await login.login(process.env.TEST_USERNAME!, process.env.TEST_PASSWORD!); + + await context.storageState({ path: '.auth/user.json' }); + await browser.close(); +} + +export default globalSetup; diff --git a/playwright/setup/auth.setup.spec.ts b/playwright/setup/auth.setup.spec.ts deleted file mode 100644 index 4be5dafc5c..0000000000 --- a/playwright/setup/auth.setup.spec.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { test, expect } from '@playwright/test'; -import loginActions from '../Actions/loginActions'; - -test('generate auth session', async ({ page }) => { - const login = new loginActions(page); - - await login.login(process.env.TEST_USERNAME!, process.env.TEST_PASSWORD!); - - await expect(page).toHaveURL(/dashboard/); - - // Save authenticated storage - await page.context().storageState({ path: 'auth.json' }); -}); diff --git a/playwright/auth.spec.ts b/playwright/specs/auth.spec.ts similarity index 61% rename from playwright/auth.spec.ts rename to playwright/specs/auth.spec.ts index 1ef3c1dccc..08f7c97bd3 100644 --- a/playwright/auth.spec.ts +++ b/playwright/specs/auth.spec.ts @@ -1,17 +1,15 @@ import { test, expect } from '@playwright/test'; -import { APPLICATION_ROUTES } from '../cypress/support/application.routes'; -import cyTranslate from '../cypress/support/translations'; +import { APPLICATION_ROUTES } from '../support/application.routes'; +import pwTranslate from '../support/translations'; test('dashboard loads when already authenticated', async ({ page }) => { await page.goto('/dashboard/home'); - await expect(page).toHaveURL(/dashboard/); }); test('should redirect unauthenticated user to login page', async ({ browser, }) => { - // Explicitly empty storage to guarantee no auth state bleeds in const context = await browser.newContext({ storageState: { cookies: [], origins: [] }, }); @@ -19,38 +17,10 @@ test('should redirect unauthenticated user to login page', async ({ const page = await context.newPage(); await page.goto(APPLICATION_ROUTES.projects); - - // Wait for the redirect to complete before asserting await page.waitForURL(/login/, { timeout: 15000 }); await expect(page).toHaveURL(/login/); - await expect(page.getByText(cyTranslate('loginTitle'))).toBeVisible(); - - await context.close(); -}); - -test('should show error message on failed login', async ({ browser }) => { - const context = await browser.newContext({ - storageState: { cookies: [], origins: [] }, - }); - - const page = await context.newPage(); - - await page.goto('/login'); - - await page - .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) - .fill('invalid_user_123'); - await page.getByRole('button', { name: 'Next' }).click(); - - await page - .getByPlaceholder(cyTranslate('passwordPlaceholder')) - .fill('wrong_password'); - await page.getByRole('button', { name: /login/i }).click(); - - await expect( - page.getByText(cyTranslate('credentialsIncorrect')) - ).toBeVisible(); + await expect(page.getByText(pwTranslate('loginTitle'))).toBeVisible(); await context.close(); }); @@ -65,19 +35,17 @@ test('valid login via UI redirects to dashboard', async ({ browser }) => { await page.goto('/login'); await page - .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) + .getByPlaceholder(pwTranslate('usernameEmailIdTextPlaceholder')) .fill(process.env.TEST_USERNAME!); await page.getByRole('button', { name: 'Next' }).click(); - await page - .getByPlaceholder(cyTranslate('passwordPlaceholder')) + .getByPlaceholder(pwTranslate('passwordPlaceholder')) .fill(process.env.TEST_PASSWORD!); await page.getByRole('button', { name: /login/i }).click(); await page.waitForURL(/dashboard/, { timeout: 15000 }); - await expect(page).toHaveURL(/dashboard/); await context.close(); @@ -86,11 +54,10 @@ test('valid login via UI redirects to dashboard', async ({ browser }) => { test('dashboard shows main UI elements', async ({ page }) => { await page.goto('/dashboard/projects'); - // await expect(page.getByText(cyTranslate('startNewScan'))).toBeVisible(); - await expect(page.getByText(cyTranslate('uploadApp'))).toBeVisible(); - await expect(page.getByText(cyTranslate('allProjects'))).toBeVisible(); + await expect(page.getByText(pwTranslate('uploadApp'))).toBeVisible(); + await expect(page.getByText(pwTranslate('allProjects'))).toBeVisible(); await expect( - page.getByText(cyTranslate('allProjectsDescription')) + page.getByText(pwTranslate('allProjectsDescription')) ).toBeVisible(); }); @@ -104,7 +71,7 @@ test('reset button is disabled when email is empty', async ({ browser }) => { await page.goto('/recover'); const resetButton = page.getByRole('button', { - name: cyTranslate('resetPassword'), + name: pwTranslate('resetPassword'), }); await expect(resetButton).toBeDisabled(); @@ -122,14 +89,14 @@ test('reset button enables when email is entered', async ({ browser }) => { await page.goto('/recover'); const input = page.getByPlaceholder( - cyTranslate('usernameEmailIdTextPlaceholder') + pwTranslate('usernameEmailIdTextPlaceholder') ); + const resetButton = page.getByRole('button', { - name: cyTranslate('resetPassword'), + name: pwTranslate('resetPassword'), }); await input.fill('test@test.com'); - await expect(resetButton).toBeEnabled(); await context.close(); @@ -147,7 +114,7 @@ test('forgot password API returns 204 and shows confirmation message', async ({ await page.goto('/recover'); await page - .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) + .getByPlaceholder(pwTranslate('usernameEmailIdTextPlaceholder')) .fill('randomletters123@test.com'); const responsePromise = page.waitForResponse((res) => @@ -155,19 +122,19 @@ test('forgot password API returns 204 and shows confirmation message', async ({ ); await page - .getByRole('button', { name: cyTranslate('resetPassword') }) + .getByRole('button', { name: pwTranslate('resetPassword') }) .click(); const response = await responsePromise; - expect(response.status()).toBe(204); await expect( - page.getByText(cyTranslate('resetPasswordMessageToCheck')) + page.getByText(pwTranslate('resetPasswordMessageToCheck')) ).toBeVisible(); await expect( - page.getByText(cyTranslate('resetPasswordMessageToRetry')) + page.getByText(pwTranslate('resetPasswordMessageToRetry')) ).toBeVisible(); + await context.close(); }); diff --git a/playwright/support/api.routes.ts b/playwright/support/api.routes.ts new file mode 100644 index 0000000000..f507b44e54 --- /dev/null +++ b/playwright/support/api.routes.ts @@ -0,0 +1,165 @@ +export const API_ROUTES = { + // General + check: { + route: '/api/v2/sso/check', + alias: 'checkUser', + }, + frontendConfig: { + route: '/api/v2/frontend_configuration', + alias: 'frontendConfig', + }, + serverConfig: { + route: '/api/v2/server_configuration', + alias: 'serverConfig', + }, + websockets: { + route: '/websocket/**', + alias: 'websockets', + }, + uploadApp: { + route: '/api/organizations/*/upload_app', + alias: 'uploadAppReq', + }, + uploadAppViaLink: { + route: '/api/organizations/*/upload_app_url', + alias: 'uploadAppLinkReq', + }, + + // Auth + login: { route: '/api/login' }, + + // Listing Routes + sbomProjectList: { + route: '/api/v2/sb_projects*', + alias: 'sbomProjectList', + }, + organizationList: { + route: '/api/organizations*', + alias: 'availableOrgsList', + }, + submissionList: { + route: '/api/submissions*', + alias: 'submissionList', + }, + v3ProjectList: { + route: '/api/v3/projects*', + alias: 'projectList', + }, + projectList: { + route: '/api/organizations/*/projects*', + alias: 'projectList', + }, + vulnerabilityList: { + route: '/api/vulnerabilities', + alias: 'vulnerabilityList', + }, + hudsonProjectList: { + route: '/api/hudson-api/projects', + alias: 'hudsonProjectList', + }, + vulnerabilityPreferenceList: { + route: '/api/profiles/*/vulnerability_preferences', + alias: 'vulnerabilityPreferenceList', + }, + serviceAccountList: { + route: '/api/service_accounts*', + alias: 'serviceAccountList', + }, + + // Single Record routes + file: { route: '/api/v3/files', alias: 'file' }, + fileRisk: { route: '/api/v3/files/*/risk', alias: 'fileRisk' }, + sbom: { route: '/api/v2/sb_files', alias: 'sbomFile' }, + unknownAnalysisStatus: { + route: '/api/profiles/*/unknown_analysis_status*', + alias: 'unknownAnalysisStatus', + }, + userInfo: { + route: '/api/users/**', + alias: 'userInfo', + }, + analysis: { + route: '/api/v2/analyses', + alias: 'analysisItem', + }, + submissionItem: { + route: '/api/submissions', + alias: 'submission', + }, + dsManualDevicePreference: { + route: '/api/v2/profiles/*/ds_manual_device_preference', + alias: 'dsManualDevicePreference', + }, + availableManualDevices: { + route: '/api/v2/projects/*/available_manual_devices*', + alias: 'availableManualDevices', + }, + editAnalysisRisk: { + route: '/api/files/*/vulnerability_preferences/*/risk', + alias: 'editAnalysisRisk', + }, + serviceAccount: { + route: '/api/service_accounts/*', + alias: 'serviceAccount', + }, + teamsList: { + route: '/api/organizations/*/teams*', + alias: 'teamsList', + }, + organizationTeams: { + route: '/api/organizations/*/teams/*', + alias: 'organizationTeams', + }, + teamMembers: { + route: '/api/organizations/*/teams/*/members/*', + alias: 'teamMembers', + }, + teamMembersList: { + route: '/api/organizations/*/teams/*/members*', + alias: 'teamMembersList', + }, + teamProject: { + route: '/api/organizations/*/teams/*/projects/*', + alias: 'teamProject', + }, + organization: { + route: '/api/organizations/*', + alias: 'organization', + }, + editUserInfo: { + route: '/api/organizations/*/users/*', + alias: 'editUser', + }, + membersList: { + route: '/api/organizations/*/members*', + alias: 'membersList', + }, + member: { + route: '/api/organizations/*/members/*', + alias: 'member', + }, + teamExcludesUser: { + route: '/api/organizations/*/teams?exclude_user=*', + alias: 'teamExcludesUser', + }, + teamIncludesUser: { + route: '/api/organizations/*/teams?include_user=*', + alias: 'teamIncludesUser', + }, + inviteUser: { + route: '/api/organizations/*/invitations', + alias: 'inviteUser', + }, + usersList: { + route: '/api/organizations/*/users*', + alias: 'usersList', + }, + inviteTeam: { + route: '/api/organizations/*/teams/*/invitations*', + alias: 'inviteTeam', + }, + dynamicscan: { + route: '/api/v3/files/*/last_manual_dynamic_scan', + alias: 'dynamicscan', + }, +} as const; diff --git a/playwright/support/application.routes.ts b/playwright/support/application.routes.ts new file mode 100644 index 0000000000..42019f7fdc --- /dev/null +++ b/playwright/support/application.routes.ts @@ -0,0 +1,10 @@ +export const APPLICATION_ROUTES = { + login: '/login', + projects: '/projects', + file: '/dashboard/file', + sbom: '/dashboard/sbom/apps', + serviceAccount: '/dashboard/organization/settings/service-account', + register: '/register', + organizationUsers: '/dashboard/organization/users', + organizationTeams: '/dashboard/organization/teams', +} as const; diff --git a/playwright/support/translations.ts b/playwright/support/translations.ts new file mode 100644 index 0000000000..ee200a1477 --- /dev/null +++ b/playwright/support/translations.ts @@ -0,0 +1,31 @@ +import IntlMessageFormat from 'intl-messageformat'; +import EN_TRANSLATIONS from '../../translations/en.json'; + +type NestedKeyOf = { + [Key in keyof ObjectType & (string | number)]: ObjectType[Key] extends object + ? `${Key}` | `${Key}.${NestedKeyOf}` + : Key; +}[keyof ObjectType & (string | number)]; + +function getMessageFromTranslations( + key: NestedKeyOf +): string { + return key + .split('.') + .reduce((p: Record | string, c) => { + if (typeof p === 'object' && c in p) { + return p[c] as string; + } + return c; + }, EN_TRANSLATIONS) as string; +} + +function pwTranslate( + key: NestedKeyOf, + variables?: Record +): string { + const message = getMessageFromTranslations(key); + return new IntlMessageFormat(message).format(variables) as string; +} + +export default pwTranslate; diff --git a/playwright/support/utils.ts b/playwright/support/utils.ts new file mode 100644 index 0000000000..920f367e05 --- /dev/null +++ b/playwright/support/utils.ts @@ -0,0 +1,90 @@ +/** + * @function getAliasName + * @returns String with correct alias structure - "@{aliasName}" + */ +export const getAliasName = (alias: string): `@${string}` => `@${alias}`; + +/** + * Extracts dynamic parameters from an actual route based on a route template. + * + * @param {string} routeTemplate - The route template with placeholders for dynamic parameters. + * @param {string} actualRoute - The actual route containing dynamic parameter values. + * @returns {Record } An object representing dynamic parameters with their keys and values. + * + * @example + * const routeTemplate = "/path/:id/:slug"; + * const actualRoute = "/path/123/example-slug"; + * const dynamicParams = extractDynamicParams(routeTemplate, actualRoute); + */ + +export function extractDynamicSlugs( + routeTemplate: string, + actualRoute: string +): ParamObj { + const templateRegex = new RegExp( + routeTemplate.replace( + /:(\w+)/g, + (_, paramName) => `(?<${paramName}>[^\\/]+)` + ) + ); + + const match = actualRoute.match(templateRegex); + const params = match?.groups || {}; + + return Object.keys(params).reduce( + (prev, curr) => ({ + ...prev, + [curr]: params[curr], + }), + {} as ParamObj + ); +} + +/** + * Replaces all slugs in a route with an asterisk. + * + * @param {string} route - The route containing slugs. + * @returns {string} The route with slugs replaced by asterisks. + * + */ + +export function replaceSlugsWithAsterisks(route: string): string { + const slugRegex = /:[^\\/]+/g; + const routeWithAsterisks = route.replace(slugRegex, '*'); + + return routeWithAsterisks; +} + +/** + * Removes the host from a given URL. + * + * @param {string} urlString - The URL to process. + * @returns {string} The URL without the host. + * + * @example + * const originalUrl = "https://example.com/path/to/resource"; + * const urlWithoutHost = removeHostFromUrl(originalUrl); + * + * console.log("URL without Host:", urlWithoutHost); + * // Output: "/path/to/resource" + */ + +export function removeHostFromUrl(urlString: string): string { + const url = new URL(urlString); + const urlWithoutHost = url.pathname + url.search + url.hash; + + return urlWithoutHost; +} + +/** + * Returns the corresponding text description for a given vulnerability type. + * + * @param {number} vulnType - The numeric code representing the type of vulnerability. + * @returns {string | undefined} The text description of the vulnerability type + * (e.g., 'static', 'dynamic', 'manual', 'api'), or `undefined` if the code is not recognized. + */ +export function getVulnerabilityTypeText(vulnType: number): string { + const typeTextMap = { 1: 'static', 2: 'dynamic', 3: 'manual', 4: 'api' }; + + return typeTextMap[vulnType as keyof typeof typeTextMap]; +} From 5132e340adf78bf3833128d6008a57b8eefbba2e Mon Sep 17 00:00:00 2001 From: pranavexe Date: Thu, 5 Mar 2026 18:07:03 +0530 Subject: [PATCH 4/8] feat: add Playwright API testing framework - Add ApiClient, TokenManager, RequestWrapper - Add ResponseValidator, SchemaValidator - Add NetworkActions for request mocking - Add auth.api.spec.ts - first backend API tests - Fix playwright.config.ts with proper setup - Add support files: api.routes, application.routes, translations --- .gitignore | Bin 858 -> 940 bytes playwright.config.ts | 3 +- playwright/Actions/api/api-client.ts | 92 ++++++++++++++++++++++ playwright/Actions/api/request.wrapper.ts | 86 ++++++++++++++++++++ playwright/Actions/api/token.manager.ts | 55 +++++++++++++ playwright/Actions/network.actions.ts | 89 +++++++++++++++++++++ playwright/specs/api/auth.api.spec.ts | 67 ++++++++++++++++ playwright/specs/auth.spec.ts | 51 +++++++++++- playwright/support/api.routes.ts | 7 ++ playwright/support/application.routes.ts | 1 + playwright/utils/response.validator.ts | 64 +++++++++++++++ playwright/utils/schema.validator.ts | 54 +++++++++++++ 12 files changed, 564 insertions(+), 5 deletions(-) create mode 100644 playwright/Actions/api/api-client.ts create mode 100644 playwright/Actions/api/request.wrapper.ts create mode 100644 playwright/Actions/api/token.manager.ts create mode 100644 playwright/Actions/network.actions.ts create mode 100644 playwright/specs/api/auth.api.spec.ts create mode 100644 playwright/utils/response.validator.ts create mode 100644 playwright/utils/schema.validator.ts diff --git a/.gitignore b/.gitignore index bdc2985985a8f98dad489887794e24644e7b9951..5760f75a45ee216f59bce19d7a53f7931a36e76f 100644 GIT binary patch literal 940 zcmZ`%O^e$w5Y;)5|6thLg5`UU%a&eBDTJPbKE{?dvPNj+1poUT$=) z)wW|rTFUV-SWji(Smwl`YAhs(7NYS$OlZ78KG#Hy5DQgtL<{E`?NSSGS+gg@jD&c7 ztue*aA}ONYDC3~96nrdSPlGXnDKenBFl+D%SxrzY1g{f7-W47rizdcnntKa+nd-Y1 zC_n|~on2LqJ>-me1779(>3k}@l;c5O$#C18q8A@5M=Gj#Ly);_+rz)uY-S@q|Rsz z2ET2L8+iZz_UFfbu%BpD=zc*7eq7l+!9wOO#SLiV5^rwRi1j$~{uok*tA|_fKw0U^ z9GJed{kGM;h*?=oY@_|7+M^A?DLXV+yv2aZHfMc-6jdUJY&T`fqH2j}%KCBK?(#dR z^_KnQ*wT+@smG`e>A8y~Z01dOEu#r@v%e0gAD(|TgKTc)A4#&)G}r(D literal 858 zcmZ`%v5wm?4Bhn=25vjR(%!MSqDxT}2yPB!iMG_pq9D>S{P(5oGzl7XqR2;)e2;wV zP5@nCF7(Bi0IBFHa##lKa5izuSfL+d0y5o*wVTE7?0^e*I~eoS?XXtrt&=}Ra(yRw zSy&k#iH$Nm7t?SL1+s_iB9Jlzu29eI4`#?rl9B5neDfUU432d|cTvXS6{?*;3a2;}fO^9tW=WZ(UzvLk!!k8jN;43{d|;cc zxrbV@?*6;}IGs-{{FT0vlR<^S5|dYk*m86PRod;8{|P;_YNTKup!Qrh8UGp6cR(iI z)zQC6M!koRfhp9OFKe~s1uoWIgz*33ebeOyY(#~kAdf~eKNQm2QdsA>m%#ZIVf( zZno`yA6fQ!AjadG6I$Oc=5LI$Efi3$$U0uE6n{m09LJ{ruVlBi#woCRmS3v1{rA#+ fN&7jLd!hsj)^^K7!r|dPGK}7D&?s#e4o3X}MI|mC diff --git a/playwright.config.ts b/playwright.config.ts index 2fdd780e7a..fa36ddee36 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -34,7 +34,8 @@ export default defineConfig({ use: { baseURL: process.env.BASE_URL, viewport: { width: 1450, height: 1650 }, - storageState: '.auth/user.json', + testIdAttribute: 'data-test-cy', // Use the same data attribute for test selectors as in Cypress for consistency + storageState: '.auth/user.json', // Store auth state in a separate file to avoid conflicts with any other storage needs trace: 'on-first-retry', screenshot: 'only-on-failure', video: 'retain-on-failure', diff --git a/playwright/Actions/api/api-client.ts b/playwright/Actions/api/api-client.ts new file mode 100644 index 0000000000..27ee2462db --- /dev/null +++ b/playwright/Actions/api/api-client.ts @@ -0,0 +1,92 @@ +import { APIRequestContext, request } from '@playwright/test'; + +export default class ApiClient { + private context!: APIRequestContext; + private baseURL: string; + private token: string | null = null; + + constructor() { + this.baseURL = process.env.BASE_URL!; + } + + /** + * Initialize API context + * Call in beforeAll + */ + async init(): Promise { + this.context = await request.newContext({ + baseURL: this.baseURL, + extraHTTPHeaders: { + 'Content-Type': 'application/json', + }, + }); + } + + /** + * Set auth token for all subsequent requests + * Call after successful login to set token for API calls + */ + setToken(token: string): void { + this.token = token; + } + + /** + * Get auth headers + */ + private getAuthHeaders(): Record { + if (!this.token) return {}; + return { + Authorization: `Basic ${this.token}`, + }; + } + + /** + * GET request + */ + async get(endpoint: string) { + const response = await this.context.get(endpoint, { + headers: this.getAuthHeaders(), + }); + return response; + } + + /** + * POST request + */ + async post(endpoint: string, body?: object) { + const response = await this.context.post(endpoint, { + headers: this.getAuthHeaders(), + data: body, + }); + return response; + } + + /** + * PUT request + */ + async put(endpoint: string, body?: object) { + const response = await this.context.put(endpoint, { + headers: this.getAuthHeaders(), + data: body, + }); + return response; + } + + /** + * DELETE request + */ + async delete(endpoint: string) { + const response = await this.context.delete(endpoint, { + headers: this.getAuthHeaders(), + }); + return response; + } + + /** + * Dispose context after tests + * Call in afterAll + */ + async dispose(): Promise { + await this.context.dispose(); + } +} diff --git a/playwright/Actions/api/request.wrapper.ts b/playwright/Actions/api/request.wrapper.ts new file mode 100644 index 0000000000..622d32b1d1 --- /dev/null +++ b/playwright/Actions/api/request.wrapper.ts @@ -0,0 +1,86 @@ +import { APIResponse } from '@playwright/test'; +import ApiClient from './api-client'; +import TokenManager from './token.manager'; + +export interface RequestOptions { + endpoint: string; + body?: object; + requiresAuth?: boolean; +} + +export default class RequestWrapper { + private client: ApiClient; + + constructor() { + this.client = new ApiClient(); + } + + /** + * Initialize client and attach auth token + */ + async init(): Promise { + await this.client.init(); + + const { b64token } = await TokenManager.getTokens(); + this.client.setToken(b64token); + } + + /** + * GET request with logging + */ + async get(opts: RequestOptions): Promise { + console.log(`[GET] ${opts.endpoint}`); + + const response = await this.client.get(opts.endpoint); + + console.log(`[GET] ${opts.endpoint} → ${response.status()}`); + + return response; + } + + /** + * POST request with logging + */ + async post(opts: RequestOptions): Promise { + console.log(`[POST] ${opts.endpoint}`); + + const response = await this.client.post(opts.endpoint, opts.body); + + console.log(`[POST] ${opts.endpoint} → ${response.status()}`); + + return response; + } + + /** + * PUT request with logging + */ + async put(opts: RequestOptions): Promise { + console.log(`[PUT] ${opts.endpoint}`); + + const response = await this.client.put(opts.endpoint, opts.body); + + console.log(`[PUT] ${opts.endpoint} → ${response.status()}`); + + return response; + } + + /** + * DELETE request with logging + */ + async delete(opts: RequestOptions): Promise { + console.log(`[DELETE] ${opts.endpoint}`); + + const response = await this.client.delete(opts.endpoint); + + console.log(`[DELETE] ${opts.endpoint} → ${response.status()}`); + + return response; + } + + /** + * Dispose client after tests + */ + async dispose(): Promise { + await this.client.dispose(); + } +} diff --git a/playwright/Actions/api/token.manager.ts b/playwright/Actions/api/token.manager.ts new file mode 100644 index 0000000000..d1bc4f754c --- /dev/null +++ b/playwright/Actions/api/token.manager.ts @@ -0,0 +1,55 @@ +import { request } from '@playwright/test'; +import { API_ROUTES } from '../../support/api.routes'; + +export interface AuthTokens { + token: string; + b64token: string; +} + +export default class TokenManager { + private static tokens: AuthTokens | null = null; + + /** + * Login and get tokens from real QA backend + * Stores tokens for reuse across all API tests + * Returns cached tokens if already fetched once, otherwise performs login request + */ + static async getTokens(): Promise { + // Return cached tokens if available + if (this.tokens) return this.tokens; + + const context = await request.newContext({ + baseURL: process.env.BASE_URL!, + }); + + const response = await context.post(API_ROUTES.login.route, { + data: { + username: process.env.TEST_USERNAME!, + password: process.env.TEST_PASSWORD!, + }, + }); + + if (!response.ok()) { + throw new Error(`Login failed with status ${response.status()}`); + } + + const body = await response.json(); + + this.tokens = { + token: body.token, + b64token: body.b64token, + }; + + await context.dispose(); + + return this.tokens; + } + + /** + * Clear cached tokens + * Call if you need fresh login + */ + static clearTokens(): void { + this.tokens = null; + } +} diff --git a/playwright/Actions/network.actions.ts b/playwright/Actions/network.actions.ts new file mode 100644 index 0000000000..e63fc84dfd --- /dev/null +++ b/playwright/Actions/network.actions.ts @@ -0,0 +1,89 @@ +import { Page, Route } from '@playwright/test'; + +export interface PaginatedResDataOverrideProps { + count?: number; + next?: string | null; + previous?: string | null; + results?: Array; +} + +export interface MockRequestOptions { + method?: string; + route: string; + status?: number; + dataOverride?: object; +} + +export default class NetworkActions { + constructor(private page: Page) {} + + /** + * Mock any network request with full response override + * Equivalent to Cypress networkActions.mockNetworkReq + */ + async mockNetworkReq(opts: MockRequestOptions): Promise { + const { method = 'GET', route, dataOverride = {}, status = 200 } = opts; + + await this.page.route(`**${route}`, (pwRoute: Route) => { + if (pwRoute.request().method() !== method) { + return pwRoute.continue(); + } + + pwRoute.fulfill({ + status, + contentType: 'application/json', + body: JSON.stringify(dataOverride), + }); + }); + } + + /** + * Mock paginated response + * Equivalent to Cypress networkActions.mockPaginatedNetworkReq + */ + async mockPaginatedNetworkReq(opts: { + method?: string; + route: string; + resDataOverride?: PaginatedResDataOverrideProps; + }): Promise { + const { method = 'GET', route, resDataOverride } = opts; + + await this.page.route(`**${route}`, (pwRoute: Route) => { + if (pwRoute.request().method() !== method) { + return pwRoute.continue(); + } + + pwRoute.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ + count: resDataOverride?.results?.length ?? 0, + next: null, + previous: null, + ...resDataOverride, + }), + }); + }); + } + + /** + * Wait for a specific response + * Equivalent to cy.wait('@alias') + */ + async waitForResponse( + urlPattern: string, + expectedStatus = 200 + ): Promise { + await this.page.waitForResponse( + (res) => res.url().includes(urlPattern) && res.status() === expectedStatus + ); + } + + /** + * Clear all route mocks + * Call in afterEach to prevent bleed between tests + */ + async clearAll(): Promise { + await this.page.unrouteAll(); + } +} diff --git a/playwright/specs/api/auth.api.spec.ts b/playwright/specs/api/auth.api.spec.ts new file mode 100644 index 0000000000..b0585ca37f --- /dev/null +++ b/playwright/specs/api/auth.api.spec.ts @@ -0,0 +1,67 @@ +import { test } from '@playwright/test'; +import { API_ROUTES } from '../../support/api.routes'; +import RequestWrapper from '../../Actions/api/request.wrapper'; +import ResponseValidator from '../../utils/response.validator'; +import SchemaValidator from '../../utils/schema.validator'; +import TokenManager from '../../Actions/api/token.manager'; + +let wrapper: RequestWrapper; + +test.describe('Auth API ', () => { + test.beforeAll(async () => { + wrapper = new RequestWrapper(); + await wrapper.init(); + }); + + test.afterAll(async () => { + TokenManager.clearTokens(); + await wrapper.dispose(); + }); + + test('POST /api/login — valid credentials returns token', async () => { + const response = await wrapper.post({ + endpoint: API_ROUTES.login.route, + body: { + username: process.env.TEST_USERNAME!, + password: process.env.TEST_PASSWORD!, + }, + }); + + const body = await ResponseValidator.validate(response, { + status: 200, + requiredFields: ['token', 'user_id'], + }); + + SchemaValidator.validate(body, { + token: { type: 'string', required: true }, + user_id: { type: 'number', required: true }, + }); + }); + + test('POST /api/login — invalid credentials returns 403', async () => { + const response = await wrapper.post({ + endpoint: API_ROUTES.login.route, + body: { + username: 'invalid_user', + password: 'wrong_password', + }, + }); + + await ResponseValidator.validate(response, { + status: 403, + }); + }); + + test('POST /api/v2/sso/check — valid username returns 200', async () => { + const response = await wrapper.post({ + endpoint: API_ROUTES.check.route, + body: { + username: process.env.TEST_USERNAME!, + }, + }); + + await ResponseValidator.validate(response, { + status: 200, + }); + }); +}); diff --git a/playwright/specs/auth.spec.ts b/playwright/specs/auth.spec.ts index 08f7c97bd3..b063dc2ae4 100644 --- a/playwright/specs/auth.spec.ts +++ b/playwright/specs/auth.spec.ts @@ -1,6 +1,8 @@ import { test, expect } from '@playwright/test'; import { APPLICATION_ROUTES } from '../support/application.routes'; import pwTranslate from '../support/translations'; +import { API_ROUTES } from '../support/api.routes'; +import NetworkActions from '../Actions/network.actions'; test('dashboard loads when already authenticated', async ({ page }) => { await page.goto('/dashboard/home'); @@ -51,6 +53,47 @@ test('valid login via UI redirects to dashboard', async ({ browser }) => { await context.close(); }); +test('should show error message on failed login', async ({ browser }) => { + const context = await browser.newContext({ + storageState: { cookies: [], origins: [] }, + }); + + const page = await context.newPage(); + const networkActions = new NetworkActions(page); + + await networkActions.mockNetworkReq({ + method: 'POST', + route: API_ROUTES.login.route, + status: 401, + dataOverride: { + message: 'The credentials you entered are incorrect', + attempt_left: '4', + failure_limit: '5', + }, + }); + + await page.goto(APPLICATION_ROUTES.login); + + await page + .getByPlaceholder(pwTranslate('usernameEmailIdTextPlaceholder')) + .fill(process.env.TEST_USERNAME!); + + await page.getByRole('button', { name: 'Next' }).click(); + + await page + .getByPlaceholder(pwTranslate('passwordPlaceholder')) + .fill('wrong_password'); + + await page.getByRole('button', { name: /login/i }).click(); + + await expect( + page.getByText(pwTranslate('credentialsIncorrect')) + ).toBeVisible(); + + await networkActions.clearAll(); + await context.close(); +}); + test('dashboard shows main UI elements', async ({ page }) => { await page.goto('/dashboard/projects'); @@ -68,7 +111,7 @@ test('reset button is disabled when email is empty', async ({ browser }) => { const page = await context.newPage(); - await page.goto('/recover'); + await page.goto(APPLICATION_ROUTES.recover); const resetButton = page.getByRole('button', { name: pwTranslate('resetPassword'), @@ -86,7 +129,7 @@ test('reset button enables when email is entered', async ({ browser }) => { const page = await context.newPage(); - await page.goto('/recover'); + await page.goto(APPLICATION_ROUTES.recover); const input = page.getByPlaceholder( pwTranslate('usernameEmailIdTextPlaceholder') @@ -111,14 +154,14 @@ test('forgot password API returns 204 and shows confirmation message', async ({ const page = await context.newPage(); - await page.goto('/recover'); + await page.goto(APPLICATION_ROUTES.recover); await page .getByPlaceholder(pwTranslate('usernameEmailIdTextPlaceholder')) .fill('randomletters123@test.com'); const responsePromise = page.waitForResponse((res) => - res.url().includes('/api/v2/forgot_password') + res.url().includes(API_ROUTES.forgotPassword.route) ); await page diff --git a/playwright/support/api.routes.ts b/playwright/support/api.routes.ts index f507b44e54..013e748730 100644 --- a/playwright/support/api.routes.ts +++ b/playwright/support/api.routes.ts @@ -1,3 +1,5 @@ +import { alias } from '@ember/object/computed'; + export const API_ROUTES = { // General check: { @@ -28,6 +30,11 @@ export const API_ROUTES = { // Auth login: { route: '/api/login' }, + forgotPassword: { + route: '/api/v2/forgot_password', + alias: 'forgotPassword', + }, + // Listing Routes sbomProjectList: { route: '/api/v2/sb_projects*', diff --git a/playwright/support/application.routes.ts b/playwright/support/application.routes.ts index 42019f7fdc..5f26fe6c82 100644 --- a/playwright/support/application.routes.ts +++ b/playwright/support/application.routes.ts @@ -1,5 +1,6 @@ export const APPLICATION_ROUTES = { login: '/login', + recover: '/recover', projects: '/projects', file: '/dashboard/file', sbom: '/dashboard/sbom/apps', diff --git a/playwright/utils/response.validator.ts b/playwright/utils/response.validator.ts new file mode 100644 index 0000000000..828250e68e --- /dev/null +++ b/playwright/utils/response.validator.ts @@ -0,0 +1,64 @@ +import { APIResponse } from '@playwright/test'; +import { expect } from '@playwright/test'; + +export interface ValidationOptions { + status: number; + requiredFields?: string[]; +} + +export default class ResponseValidator { + /** + * Validate response status and required fields + * Reusable across all API tests + * + * @example + * await ResponseValidator.validate(response, { + * status: 200, + * requiredFields: ['token', 'b64token'] + * }); + */ + static async validate( + response: APIResponse, + opts: ValidationOptions + ): Promise> { + // Validate status code + expect( + response.status(), + `Expected status ${opts.status} but got ${response.status()} for ${response.url()}` + ).toBe(opts.status); + + // Parse response body + const body = await response.json(); + + // Validate required fields exist in response + if (opts.requiredFields) { + for (const field of opts.requiredFields) { + expect( + body, + `Expected field '${field}' in response from ${response.url()}` + ).toHaveProperty(field); + } + } + + return body; + } + + /** + * Validate paginated response structure + * Checks for 'count' and 'results' fields, and that 'results' is an array + * Can be extended to validate pagination links (next, previous) if needed + */ + static async validatePaginated( + response: APIResponse, + opts: { status?: number } = {} + ): Promise> { + const body = await this.validate(response, { + status: opts.status ?? 200, + requiredFields: ['count', 'results'], + }); + + expect(Array.isArray(body.results)).toBe(true); + + return body; + } +} diff --git a/playwright/utils/schema.validator.ts b/playwright/utils/schema.validator.ts new file mode 100644 index 0000000000..eb27dbf252 --- /dev/null +++ b/playwright/utils/schema.validator.ts @@ -0,0 +1,54 @@ +import { expect } from '@playwright/test'; + +type SchemaType = 'string' | 'number' | 'boolean' | 'object' | 'array'; + +export interface SchemaField { + type: SchemaType; + required?: boolean; +} + +export interface Schema { + [field: string]: SchemaField; +} + +export default class SchemaValidator { + /** + * Validates response body matches expected schema + * Catches API contract breaks immediately + * + * @example + * SchemaValidator.validate(body, { + * token: { type: 'string', required: true }, + * b64token: { type: 'string', required: true }, + * }); + */ + static validate(body: Record, schema: Schema): void { + for (const [field, rules] of Object.entries(schema)) { + // Check required fields exist + if (rules.required) { + expect( + body, + `Schema violation: required field '${field}' is missing` + ).toHaveProperty(field); + } + + // Skip type check if field not present and not required + if (!(field in body)) continue; + + const value = body[field]; + + // Check correct type + if (rules.type === 'array') { + expect( + Array.isArray(value), + `Schema violation: '${field}' should be array but got ${typeof value}` + ).toBe(true); + } else { + expect( + typeof value, + `Schema violation: '${field}' should be ${rules.type} but got ${typeof value}` + ).toBe(rules.type); + } + } + } +} From 99cc2b62dd9c290671cbbe9fc461275f47d58fd3 Mon Sep 17 00:00:00 2001 From: pranavexe Date: Thu, 19 Mar 2026 12:39:34 +0530 Subject: [PATCH 5/8] feat: Playwright API testing framework --- .gitignore | Bin 940 -> 897 bytes package-lock.json | 142 ++++++- package.json | 6 +- playwright.config.ts | 35 +- playwright/Actions/api/api-client.ts | 49 +-- playwright/Actions/api/request.wrapper.ts | 4 +- playwright/Actions/api/token.manager.ts | 9 +- playwright/Actions/auth/loginActions.ts | 12 +- playwright/fixtures/DVIA.ipa | Bin 0 -> 7298947 bytes playwright/fixtures/MFVA.aab | Bin 0 -> 2166576 bytes playwright/fixtures/MFVA.apk | Bin 0 -> 2433063 bytes playwright/global.setup.ts | 349 ++++++++++++++++-- playwright/specs/api/auth.api.spec.ts | 154 ++++++-- playwright/specs/api/projects.api.spec.ts | 261 +++++++++++++ playwright/specs/api/report.api.spec.ts | 265 +++++++++++++ playwright/specs/api/sbom.api.spec.ts | 267 ++++++++++++++ playwright/specs/api/scan.api.spec.ts | 161 ++++++++ playwright/specs/api/upload.api.spec.ts | 230 ++++++++++++ .../specs/api/vulnerability.api.spec.ts | 142 +++++++ playwright/specs/auth.spec.ts | 304 +++++++++++---- playwright/support/api.routes.ts | 122 +++++- playwright/support/test-state.ts | 18 + 22 files changed, 2304 insertions(+), 226 deletions(-) create mode 100644 playwright/fixtures/DVIA.ipa create mode 100644 playwright/fixtures/MFVA.aab create mode 100644 playwright/fixtures/MFVA.apk create mode 100644 playwright/specs/api/projects.api.spec.ts create mode 100644 playwright/specs/api/report.api.spec.ts create mode 100644 playwright/specs/api/sbom.api.spec.ts create mode 100644 playwright/specs/api/scan.api.spec.ts create mode 100644 playwright/specs/api/upload.api.spec.ts create mode 100644 playwright/specs/api/vulnerability.api.spec.ts create mode 100644 playwright/support/test-state.ts diff --git a/.gitignore b/.gitignore index 5760f75a45ee216f59bce19d7a53f7931a36e76f..06c9df56df5c6ed1924f9d1f83b3a4d9ea274f54 100644 GIT binary patch literal 897 zcmZ`&J&)Tk4BhoB4BU2rrM+WuMVF!|5ZoN-gR#}fq9D>S{O?QIsS`BlM3avq`5x)F z?gY?{%!R%fGeRnQh&;|tdz?%hGFIp>F#(zGg0-8(@2ta_yA6za=r&j@_14LoBDtXx zyv(djh{Q%2o{DLBfC4!{_7O-KhYQqmdxIG=lO$#gaGo&CtzmmHMe@pM$hUVfC6{K% z67}Bt5gJ4(X1;qKa|X{kp}#8Q@dninAca$O1)$#Xh*?qw=~t#cfSZTrN@)gSn09Qn zHTO^}*3Ey{AE)z)g}>4_@-nC}m}3gc5L=F(ph~-q@;{+xR*e))4r4? zrjGtiGU^fD2d1&cd|j$7FL1H`Dun+R@0%_!U?VCN1$i`*DP2YHF~waVWj?-r{rtWy zTcWaw~=L^J7NMZIiU^hV*bV`+d?DC6QsXePdX`_Rwf* z)wW|rTFUV-SWji(Smwl`YAhs(7NYS$OlZ78KG#Hy5DQgtL<{E`?NSSGS+gg@jD&c7 ztue*aA}ONYDC3~96nrdSPlGXnDKenBFl+D%SxrzY1g{f7-W47rizdcnntKa+nd-Y1 zC_n|~on2LqJ>-me1779(>3k}@l;c5O$#C18q8A@5M=Gj#Ly);_+rz)uY-S@q|Rsz z2ET2L8+iZz_UFfbu%BpD=zc*7eq7l+!9wOO#SLiV5^rwRi1j$~{uok*tA|_fKw0U^ z9GJed{kGM;h*?=oY@_|7+M^A?DLXV+yv2aZHfMc-6jdUJY&T`fqH2j}%KCBK?(#dR z^_KnQ*wT+@smG`e>A8y~Z01dOEu#r@v%e0gAD(|TgKTc)A4#&)G}r(D diff --git a/package-lock.json b/package-lock.json index ffb821a224..ac14b2b9d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@novnc/novnc": "^1.5.0", "@popperjs/core": "^2.11.6", "@storybook/types": "^8.4.6", + "@types/uuid": "^10.0.0", "clipboard": "^2.0.6", "cypress": "^13.6.3", "echarts": "^5.4.2", @@ -21,7 +22,8 @@ "iconify-icon": "^2.3.0", "posthog-js": "^1.284.0", "qrious": "^4.0.2", - "swagger-ui": "^5.30.3" + "swagger-ui": "^5.30.3", + "uuid": "^13.0.0" }, "devDependencies": { "@appknox/ember-pace": "^1.0.1", @@ -98,6 +100,8 @@ "@types/rsvp": "^4.0.9", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", + "allure-commandline": "^2.37.0", + "allure-playwright": "^3.6.0", "broccoli-asset-rev": "^3.0.0", "buffer": "^6.0.3", "concurrently": "^8.2.2", @@ -3496,6 +3500,15 @@ "node": ">= 6" } }, + "node_modules/@cypress/request/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@cypress/xvfb": { "version": "1.2.4", "license": "MIT", @@ -8681,6 +8694,16 @@ "typescript": ">=4.8.0" } }, + "node_modules/@glint/core/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@glint/environment-ember-loose": { "version": "1.5.0", "dev": true, @@ -10372,6 +10395,7 @@ "integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "playwright": "1.58.2" }, @@ -10494,6 +10518,13 @@ "storybook": "^8.4.6" } }, + "node_modules/@storybook/addon-actions/node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true, + "license": "MIT" + }, "node_modules/@storybook/addon-actions/node_modules/uuid": { "version": "9.0.1", "dev": true, @@ -15370,8 +15401,9 @@ "license": "MIT" }, "node_modules/@types/uuid": { - "version": "9.0.8", - "dev": true, + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", "license": "MIT" }, "node_modules/@types/webpack-env": { @@ -16129,6 +16161,48 @@ "ajv": "^6.9.1" } }, + "node_modules/allure-commandline": { + "version": "2.37.0", + "resolved": "https://registry.npmjs.org/allure-commandline/-/allure-commandline-2.37.0.tgz", + "integrity": "sha512-s3zZ8zjqo2U3i5Lb3iLOCjwWQCtGK58GVpScTnZddOpgTXBDXAbXn+pT7QXN4NiY7pho6xw+UgyREyCRnx/9ug==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "allure": "bin/allure" + } + }, + "node_modules/allure-js-commons": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-3.6.0.tgz", + "integrity": "sha512-RquIzMlh2l+ZLtq+Uxt+ZpOptxLzyPvLfPGbwU7dtgXo0QfUvhLFFkCljIR7Gjxo7jZ+WVqoto1yOPpXqU/i4g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "md5": "^2.3.0" + }, + "peerDependencies": { + "allure-playwright": "3.6.0" + }, + "peerDependenciesMeta": { + "allure-playwright": { + "optional": true + } + } + }, + "node_modules/allure-playwright": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/allure-playwright/-/allure-playwright-3.6.0.tgz", + "integrity": "sha512-p/m41kdrgkKeJP0dgn/7yEQggxRBQEYdwRKUSfg2VEIfCP1va/6ph7dZNsYWKq+Hyj4Nd5DLs33DTS9VwEHe8w==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "allure-js-commons": "3.6.0" + }, + "peerDependencies": { + "@playwright/test": ">=1.53.0" + } + }, "node_modules/amd-name-resolver": { "version": "1.3.1", "license": "MIT", @@ -20896,6 +20970,16 @@ "dev": true, "license": "MIT" }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/charm": { "version": "1.0.2", "dev": true, @@ -22218,6 +22302,16 @@ "node": ">= 8" } }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/cryptiles": { "version": "0.2.2", "dev": true, @@ -27816,6 +27910,16 @@ "node": "6.* || >= 7.*" } }, + "node_modules/ember-cli-deploy-cloudfront/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/ember-cli-deploy-display-revisions": { "version": "2.1.2", "dev": true, @@ -49128,6 +49232,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "node_modules/md5.js": { "version": "1.3.5", "dev": true, @@ -65740,6 +65856,16 @@ "which": "^2.0.2" } }, + "node_modules/node-notifier/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/node-releases": { "version": "2.0.19", "license": "MIT" @@ -72668,10 +72794,16 @@ } }, "node_modules/uuid": { - "version": "8.3.2", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "license": "MIT", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/v8-compile-cache": { diff --git a/package.json b/package.json index f4e041cb3f..69a50bf516 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,8 @@ "@types/rsvp": "^4.0.9", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", + "allure-commandline": "^2.37.0", + "allure-playwright": "^3.6.0", "broccoli-asset-rev": "^3.0.0", "buffer": "^6.0.3", "concurrently": "^8.2.2", @@ -212,6 +214,7 @@ "@novnc/novnc": "^1.5.0", "@popperjs/core": "^2.11.6", "@storybook/types": "^8.4.6", + "@types/uuid": "^10.0.0", "clipboard": "^2.0.6", "cypress": "^13.6.3", "echarts": "^5.4.2", @@ -220,7 +223,8 @@ "iconify-icon": "^2.3.0", "posthog-js": "^1.284.0", "qrious": "^4.0.2", - "swagger-ui": "^5.30.3" + "swagger-ui": "^5.30.3", + "uuid": "^13.0.0" }, "overrides": { "@storybook/ember": { diff --git a/playwright.config.ts b/playwright.config.ts index fa36ddee36..ce1082f4d0 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -1,20 +1,3 @@ -// import { defineConfig } from '@playwright/test'; -// import dotenv from 'dotenv'; -// import path from 'path'; - -// dotenv.config({ -// path: path.resolve(__dirname, '.env.qa'), -// }); - -// export default defineConfig({ -// testDir: './playwright', - -// use: { -// baseURL: process.env.BASE_URL, -// viewport: { width: 1450, height: 1650 }, -// storageState: 'auth.json', -// }, -// }); import { defineConfig } from '@playwright/test'; import dotenv from 'dotenv'; import path from 'path'; @@ -29,7 +12,23 @@ export default defineConfig({ retries: process.env.CI ? 1 : 0, workers: process.env.CI ? 4 : 2, globalSetup: './playwright/global.setup.ts', - reporter: [['html', { open: 'never' }], ['line']], + reporter: [ + ['html', { open: 'never' }], + ['line'], + [ + 'allure-playwright', + { + detail: true, + outputFolder: 'allure-results', + suiteTitle: true, + environmentInfo: { + Environment: process.env.ENVIRONMENT || 'QA', + BaseURL: process.env.BASE_URL, + Platform: process.platform, + }, + }, + ], + ], use: { baseURL: process.env.BASE_URL, diff --git a/playwright/Actions/api/api-client.ts b/playwright/Actions/api/api-client.ts index 27ee2462db..31d65db9f5 100644 --- a/playwright/Actions/api/api-client.ts +++ b/playwright/Actions/api/api-client.ts @@ -4,15 +4,12 @@ export default class ApiClient { private context!: APIRequestContext; private baseURL: string; private token: string | null = null; + private userId: string | number | null = null; constructor() { this.baseURL = process.env.BASE_URL!; } - /** - * Initialize API context - * Call in beforeAll - */ async init(): Promise { this.context = await request.newContext({ baseURL: this.baseURL, @@ -22,70 +19,44 @@ export default class ApiClient { }); } - /** - * Set auth token for all subsequent requests - * Call after successful login to set token for API calls - */ - setToken(token: string): void { + setToken(token: string, userId: string | number): void { this.token = token; + this.userId = userId; } - /** - * Get auth headers - */ private getAuthHeaders(): Record { if (!this.token) return {}; + const b64 = Buffer.from(`${this.userId}:${this.token}`).toString('base64'); return { - Authorization: `Basic ${this.token}`, + Authorization: `Basic ${b64}`, }; } - - /** - * GET request - */ async get(endpoint: string) { - const response = await this.context.get(endpoint, { + return this.context.get(endpoint, { headers: this.getAuthHeaders(), }); - return response; } - /** - * POST request - */ async post(endpoint: string, body?: object) { - const response = await this.context.post(endpoint, { + return this.context.post(endpoint, { headers: this.getAuthHeaders(), - data: body, + ...(body && Object.keys(body).length > 0 ? { data: body } : {}), // ← only send data if body has content }); - return response; } - /** - * PUT request - */ async put(endpoint: string, body?: object) { - const response = await this.context.put(endpoint, { + return this.context.put(endpoint, { headers: this.getAuthHeaders(), data: body, }); - return response; } - /** - * DELETE request - */ async delete(endpoint: string) { - const response = await this.context.delete(endpoint, { + return this.context.delete(endpoint, { headers: this.getAuthHeaders(), }); - return response; } - /** - * Dispose context after tests - * Call in afterAll - */ async dispose(): Promise { await this.context.dispose(); } diff --git a/playwright/Actions/api/request.wrapper.ts b/playwright/Actions/api/request.wrapper.ts index 622d32b1d1..51ffb1da82 100644 --- a/playwright/Actions/api/request.wrapper.ts +++ b/playwright/Actions/api/request.wrapper.ts @@ -21,8 +21,8 @@ export default class RequestWrapper { async init(): Promise { await this.client.init(); - const { b64token } = await TokenManager.getTokens(); - this.client.setToken(b64token); + const { token, user_id } = await TokenManager.getTokens(); + this.client.setToken(token, user_id); } /** diff --git a/playwright/Actions/api/token.manager.ts b/playwright/Actions/api/token.manager.ts index d1bc4f754c..2e3e3426c0 100644 --- a/playwright/Actions/api/token.manager.ts +++ b/playwright/Actions/api/token.manager.ts @@ -3,7 +3,7 @@ import { API_ROUTES } from '../../support/api.routes'; export interface AuthTokens { token: string; - b64token: string; + user_id: number; } export default class TokenManager { @@ -12,10 +12,9 @@ export default class TokenManager { /** * Login and get tokens from real QA backend * Stores tokens for reuse across all API tests - * Returns cached tokens if already fetched once, otherwise performs login request + * Returns cached tokens if already fetched once */ static async getTokens(): Promise { - // Return cached tokens if available if (this.tokens) return this.tokens; const context = await request.newContext({ @@ -34,10 +33,9 @@ export default class TokenManager { } const body = await response.json(); - this.tokens = { token: body.token, - b64token: body.b64token, + user_id: body.user_id, }; await context.dispose(); @@ -47,7 +45,6 @@ export default class TokenManager { /** * Clear cached tokens - * Call if you need fresh login */ static clearTokens(): void { this.tokens = null; diff --git a/playwright/Actions/auth/loginActions.ts b/playwright/Actions/auth/loginActions.ts index c6ee4bc6d6..91d804ee0b 100644 --- a/playwright/Actions/auth/loginActions.ts +++ b/playwright/Actions/auth/loginActions.ts @@ -1,6 +1,6 @@ -// import { Page, expect } from '@playwright/test'; -import cyTranslate from '../../../cypress/support/translations'; import { Page, expect } from '@playwright/test'; +import pwTranslate from '../../support/translations'; + export default class LoginActions { constructor(private page: Page) {} @@ -8,7 +8,7 @@ export default class LoginActions { await this.page.goto('/login'); await this.page - .getByPlaceholder(cyTranslate('usernameEmailIdTextPlaceholder')) + .getByPlaceholder(pwTranslate('usernameEmailIdTextPlaceholder')) .fill(username); const nextButton = this.page.getByRole('button', { name: 'Next' }); @@ -16,12 +16,14 @@ export default class LoginActions { await nextButton.click(); const passwordInput = this.page.getByPlaceholder( - cyTranslate('passwordPlaceholder') + pwTranslate('passwordPlaceholder') ); await expect(passwordInput).toBeVisible(); await passwordInput.fill(password); - const loginButton = this.page.getByRole('button', { name: 'Login' }); + const loginButton = this.page.locator( + 'button[aria-label="login-submit-button"]' + ); await expect(loginButton).toBeEnabled(); await loginButton.click(); diff --git a/playwright/fixtures/DVIA.ipa b/playwright/fixtures/DVIA.ipa new file mode 100644 index 0000000000000000000000000000000000000000..4b094c7bc5720790dddcd1b7f0fa3a2509955ab1 GIT binary patch literal 7298947 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 z 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