From 5e0ef4cc8c38b073fcf0f8263b16d70b18fc495d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Maro=C5=A1i?= Date: Mon, 7 Aug 2023 13:32:39 +0200 Subject: [PATCH] Fux cypress after PF upgrades. --- .gitignore | 1 + package-lock.json | 751 ++++++++++++++---- package.json | 3 + packages/advisor-components/.gitignore | 1 + packages/advisor-components/README.md | 4 +- packages/advisor-components/cypress.config.js | 34 + packages/advisor-components/cypress.json | 9 - .../cypress/cypress.webpack.config.js | 75 +- ... component and matches screenshot.snap.png | Bin 0 -> 196218 bytes .../cypress/support/component-index.html | 12 + .../cypress/support/component.js | 46 ++ .../cypress/support/index.js | 22 - packages/advisor-components/package.json | 4 +- .../ReportDetails/ReportDetails.spec.ct.js | 4 +- packages/components/.gitignore | 2 + packages/components/.npmignore | 2 + packages/components/babel.config.js | 3 - packages/components/cypress.config.js | 16 + packages/components/cypress.json | 9 - .../cypress/cypress.webpack.config.js | 80 +- packages/components/cypress/plugins/index.js | 30 - packages/components/cypress/support/index.js | 21 - packages/components/package.json | 6 +- .../src/Breadcrumbs/Breadcrumbs.spec.ct.js | 7 +- .../src/BulkSelect/BulkSelect.spec.ct.js | 34 +- .../components/src/BulkSelect/BulkSelect.tsx | 9 +- .../CheckboxFilter.spec.ct.js | 25 +- .../ConditionalFilter.spec.ct.js | 34 +- .../ConditionalFilter/GroupFilter.spec.ct.js | 9 +- .../ConditionalFilter/RadioFilter.spec.ct.js | 29 +- .../ConditionalFilter/TextFilter.spec.ct.js | 11 +- .../DownloadButton/DownloadButton.spec.ct.js | 17 +- .../src/PrimaryToolbar/Actions.spec.ct.js | 19 +- .../PrimaryToolbar/PrimaryToolbar.spec.ct.js | 7 +- .../src/PrimaryToolbar/SortBy.spec.ct.js | 7 +- .../NotificationPortal.test.js | 2 +- 36 files changed, 935 insertions(+), 410 deletions(-) create mode 100644 packages/advisor-components/cypress.config.js delete mode 100644 packages/advisor-components/cypress.json create mode 100644 packages/advisor-components/cypress/snapshots/src/ReportDetails/ReportDetails.spec.ct.js/report details kba loaded -- renders component and matches screenshot.snap.png create mode 100644 packages/advisor-components/cypress/support/component-index.html create mode 100644 packages/advisor-components/cypress/support/component.js delete mode 100644 packages/advisor-components/cypress/support/index.js create mode 100644 packages/components/cypress.config.js delete mode 100644 packages/components/cypress.json delete mode 100644 packages/components/cypress/support/index.js diff --git a/.gitignore b/.gitignore index de86d75543..b6267817f0 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ lerna-debug.log packages/**/package-lock.json packages/**/.cache *.tgz +!/packages/*/cypress/ diff --git a/package-lock.json b/package-lock.json index 87c975020c..eea80b2f9c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,6 +57,8 @@ "@patternfly/react-core": "^5.0.0", "@patternfly/react-icons": "^5.0.0", "@patternfly/react-table": "^5.0.0", + "@simonsmith/cypress-image-snapshot": "^8.0.2", + "@swc/core": "^1.3.74", "@testing-library/dom": "^8.18.1", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.0.0", @@ -102,6 +104,7 @@ "resolve-url-loader": "^5.0.0", "sass": "^1.55.0", "style-to-object": "^0.3.0", + "swc-loader": "^0.2.3", "ts-jest": "^29.1.1", "typescript": "^4.8.4", "whatwg-fetch": "^3.6.2" @@ -9119,9 +9122,9 @@ } }, "node_modules/@patternfly/patternfly": { - "version": "4.224.5", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-4.224.5.tgz", - "integrity": "sha512-io0huj+LCP5FgDZJDaLv1snxktTYs8iCFz/W1VDRneYoebNHLmGfQdF7Yn8bS6PF7qmN6oJKEBlq3AjmmE8vdA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.0.2.tgz", + "integrity": "sha512-PB8+MLdYVgF1hIOxGmnVsZG+YHUX3RePe5W1oMS4gS00EmSgw1cobr1Qbpy/BqqS8/R9DRN4hZ2FKDT0d5tkFQ==", "dev": true }, "node_modules/@patternfly/quickstarts": { @@ -9777,6 +9780,91 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, + "node_modules/@simonsmith/cypress-image-snapshot": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@simonsmith/cypress-image-snapshot/-/cypress-image-snapshot-8.0.2.tgz", + "integrity": "sha512-HWcOwgEk9epYcNuW8msdY7kpHydT7WUWajJiEtAqPT7nFgMaytmdLfM6tjHWqAsyj3+VSWQ4g0rEVr8wQ+M50A==", + "dev": true, + "dependencies": { + "@types/jest-image-snapshot": "^6.1.0", + "chalk": "^4.1.2", + "jest-image-snapshot": "^6.1.0", + "just-extend": "^6.2.0" + }, + "peerDependencies": { + "cypress": ">10.0.0" + } + }, + "node_modules/@simonsmith/cypress-image-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@simonsmith/cypress-image-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@simonsmith/cypress-image-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@simonsmith/cypress-image-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@simonsmith/cypress-image-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@simonsmith/cypress-image-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -12786,10 +12874,44 @@ "url": "https://www.patreon.com/athan" } }, + "node_modules/@swc/core": { + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.74.tgz", + "integrity": "sha512-P+MIExOTdWlfq8Heb1/NhBAke6UTckd4cRDuJoFcFMGBRvgoCMNWhnfP3FRRXPLI7GGg27dRZS+xHiqYyQmSrA==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.74", + "@swc/core-darwin-x64": "1.3.74", + "@swc/core-linux-arm-gnueabihf": "1.3.74", + "@swc/core-linux-arm64-gnu": "1.3.74", + "@swc/core-linux-arm64-musl": "1.3.74", + "@swc/core-linux-x64-gnu": "1.3.74", + "@swc/core-linux-x64-musl": "1.3.74", + "@swc/core-win32-arm64-msvc": "1.3.74", + "@swc/core-win32-ia32-msvc": "1.3.74", + "@swc/core-win32-x64-msvc": "1.3.74" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.73.tgz", - "integrity": "sha512-RwCDCDg3gmgt+p/Kc48o3PdLBSCoFQKLb8QgC7F32Ql9wjVMS3fzy2i6NZ+MnbEnYGQtTcqLbxEDtpV3eMsEHw==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.74.tgz", + "integrity": "sha512-2rMV4QxM583jXcREfo0MhV3Oj5pgRSfSh/kVrB1twL2rQxOrbzkAPT/8flmygdVoL4f2F7o1EY5lKlYxEBiIKQ==", "cpu": [ "arm64" ], @@ -12803,9 +12925,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.73.tgz", - "integrity": "sha512-cHmAWvCVRc7LTdv4LO4mZZXfW3E9NT/KNnLNG/PgWP9QK1bSQ7hUDVKsx70ygR4ONwfhqUuglakzu+xDfNoW+A==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.74.tgz", + "integrity": "sha512-KKEGE1wXneYXe15fWDRM8/oekd/Q4yAuccA0vWY/7i6nOSPqWYcSDR0nRtR030ltDxWt0rk/eCTmNkrOWrKs3A==", "cpu": [ "x64" ], @@ -12819,9 +12941,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.73.tgz", - "integrity": "sha512-EmJALh7KUJhcdr7uUQg7wTpdcX5k1Xjspgy3QMg8j2dwb4DsnFgrnArsFNXHBB1Dj7LlQSoyxQ5mBcJtUtCb8A==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.74.tgz", + "integrity": "sha512-HehH5DR6r/5fIVu7tu8ZqgrHkhSCQNewf1ztFQJgcmaQWn+H4AJERBjwkjosqh4TvUJucZv8vyRTvrFeBXaCSA==", "cpu": [ "arm" ], @@ -12835,9 +12957,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.73.tgz", - "integrity": "sha512-RK6jTm8ppvglh42YOq/k2AqpHS9uYP5h5FNMmA9OI8lupCCS8HMtexbwqw+Xd0MGmSrsJiURw3Z6az8cEObrag==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.74.tgz", + "integrity": "sha512-+xkbCRz/wczgdknoV4NwYxbRI2dD7x/qkIFcVM2buzLCq8oWLweuV8+aL4pRqu0qDh7ZSb1jcaVTUIsySCJznA==", "cpu": [ "arm64" ], @@ -12851,9 +12973,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.73.tgz", - "integrity": "sha512-hhS6yfgZLKPVAklGjKlbyf9InAhDGj3u+jbZkjStrOgtYNBCk5tbkROZP9ib5enN9m9Oosl5gM5v6oTw27TbUw==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.74.tgz", + "integrity": "sha512-maKFZSCD3tQznzPV7T3V+TtiWZFEFM8YrnSS5fQNNb+K9J65sL+170uTb3M7H4cFkG+9Sm5k5yCrCIutlvV48g==", "cpu": [ "arm64" ], @@ -12867,9 +12989,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.73.tgz", - "integrity": "sha512-ZGcY63EtFW5OLz1tsKhqhymzvoto329c0oRS9ptzMO66eUrjsHxTt5uPixrI24F6y+bn+qFqsgIw3nwMV8jTPw==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.74.tgz", + "integrity": "sha512-LEXpcShF6DLTWJSiBhMSYZkLQ27UvaQ24fCFhoIV/R3dhYaUpHmIyLPPBNC82T03lB3ONUFVwrRw6fxDJ/f00A==", "cpu": [ "x64" ], @@ -12883,9 +13005,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.73.tgz", - "integrity": "sha512-DMz2W0PnzMXAhbMPGArQUBVayyzzzuivvJyJkyFaMPiIwaI+QG+UvLgjSM7NmG/9Eq9hX2zZ1zdaalVKXyyCHQ==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.74.tgz", + "integrity": "sha512-sxsFctbFMZEFmDE7CmYljG0dMumH8XBTwwtGr8s6z0fYAzXBGNq2AFPcmEh2np9rPWkt7pE1m0ByESD+dMkbxQ==", "cpu": [ "x64" ], @@ -12899,9 +13021,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.73.tgz", - "integrity": "sha512-yHB1jG3c4/5An//nA9+War6oiNrM/NUz6ivDPbrBfbJHtU/iPfgdAvxfm5/xpOFx4U18JJHnOt853sDyXJwi/A==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.74.tgz", + "integrity": "sha512-F7hY9/BjFCozA4YPFYFH5FGCyWwa44vIXHqG66F5cDwXDGFn8ZtBsYIsiPfUYcx0AeAo1ojnVWKPxokZhYNYqA==", "cpu": [ "arm64" ], @@ -12915,9 +13037,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.73.tgz", - "integrity": "sha512-cA61i4VPTrABAZ8LDvNVqwcO1VLEDO+71iWettvhyk7p6/H/lXG4VQVyHcncmfrAUzDQalXVbgZm6MA3hpqhFQ==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.74.tgz", + "integrity": "sha512-qBAsiD1AlIdqED6wy3UNRHyAys9pWMUidX0LJ6mj24r/vfrzzTBAUrLJe5m7bzE+F1Rgi001avYJeEW1DLEJ+Q==", "cpu": [ "ia32" ], @@ -12931,9 +13053,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.73.tgz", - "integrity": "sha512-QwTO9IlIpEr2GsJvW8qNVvQXTzT1ASqf8C8aZDLtVwHKdreTMjlrNMRYw1883DVLRuHMs5RLP4IA2A47Oexp1Q==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.74.tgz", + "integrity": "sha512-S3YAvvLprTnPRwQuy9Dkwubb5SRLpVK3JJsqYDbGfgj8PGQyKHZcVJ5X3nfFsoWLy3j9B/3Os2nawprRSzeC5A==", "cpu": [ "x64" ], @@ -12947,9 +13069,12 @@ } }, "node_modules/@swc/helpers": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", - "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -13568,6 +13693,17 @@ "pretty-format": "^27.0.0" } }, + "node_modules/@types/jest-image-snapshot": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@types/jest-image-snapshot/-/jest-image-snapshot-6.2.0.tgz", + "integrity": "sha512-LG8r7GzYJE9sETkSe4z6k1lVyab0nnln6wGcNXOat8Kny3opvjqw1A5cIKf4mWdsTPuIuCtdMO+KmQLPFZ14Yw==", + "dev": true, + "dependencies": { + "@types/jest": "*", + "@types/pixelmatch": "*", + "ssim.js": "^3.1.1" + } + }, "node_modules/@types/jsdom": { "version": "20.0.1", "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", @@ -13684,6 +13820,15 @@ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" }, + "node_modules/@types/pixelmatch": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@types/pixelmatch/-/pixelmatch-5.2.4.tgz", + "integrity": "sha512-HDaSHIAv9kwpMN7zlmwfTv6gax0PiporJOipcrGsVNF3Ba+kryOZc0Pio5pn6NhisgWr7TaajlPEKTbTAypIBQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", @@ -22777,6 +22922,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -23153,6 +23307,12 @@ "node": ">=8" } }, + "node_modules/glur": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz", + "integrity": "sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==", + "dev": true + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -27478,6 +27638,112 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jest-image-snapshot": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-6.2.0.tgz", + "integrity": "sha512-9mTHBKiiSIZ26csbLmjKyN+SrVypM93S5y+jULCvn6YItgepvcrJIKGNeSyt9d2EZiutOroLs/UjtrWiBzpHbA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "get-stdin": "^5.0.1", + "glur": "^1.1.2", + "lodash": "^4.17.4", + "pixelmatch": "^5.1.0", + "pngjs": "^3.4.0", + "rimraf": "^2.6.2", + "ssim.js": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "jest": ">=20 <=29" + }, + "peerDependenciesMeta": { + "jest": { + "optional": true + } + } + }, + "node_modules/jest-image-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-image-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-image-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-image-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-image-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-image-snapshot/node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/jest-image-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-leak-detector": { "version": "29.6.2", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", @@ -29200,6 +29466,12 @@ "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", "dev": true }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true + }, "node_modules/jwa": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", @@ -32322,6 +32594,14 @@ "escalade": "^3.1.1" } }, + "node_modules/next/node_modules/@swc/helpers": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", + "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/next/node_modules/postcss": { "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", @@ -39464,6 +39744,12 @@ "node": ">=0.10.0" } }, + "node_modules/ssim.js": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ssim.js/-/ssim.js-3.5.0.tgz", + "integrity": "sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==", + "dev": true + }, "node_modules/ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -40023,6 +40309,16 @@ "upper-case": "^1.1.1" } }, + "node_modules/swc-loader": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz", + "integrity": "sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==", + "dev": true, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, "node_modules/symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", @@ -43760,7 +44056,7 @@ }, "devDependencies": { "@cypress/webpack-dev-server": "^1.8.4", - "@patternfly/patternfly": "^4.217.0", + "@patternfly/patternfly": "^5.0.0", "@types/react": "^18.0.0", "css-loader": "^6.7.1", "cypress": "^12.17.3", @@ -44231,51 +44527,6 @@ "webpack-dev-server": "^4.11.1" } }, - "packages/demo/node_modules/@swc/core": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.73.tgz", - "integrity": "sha512-ihjj/mAQKnXakFdFPlIJOjAvfLLc2f7t9u3k5Vsv8o30utD4/4mw1SAEL9vsPYM14XrMJa6PUNegw6hNxX1D2g==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.73", - "@swc/core-darwin-x64": "1.3.73", - "@swc/core-linux-arm-gnueabihf": "1.3.73", - "@swc/core-linux-arm64-gnu": "1.3.73", - "@swc/core-linux-arm64-musl": "1.3.73", - "@swc/core-linux-x64-gnu": "1.3.73", - "@swc/core-linux-x64-musl": "1.3.73", - "@swc/core-win32-arm64-msvc": "1.3.73", - "@swc/core-win32-ia32-msvc": "1.3.73", - "@swc/core-win32-x64-msvc": "1.3.73" - }, - "peerDependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "packages/demo/node_modules/@swc/helpers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", - "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, "packages/demo/node_modules/css-loader": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", @@ -44365,16 +44616,6 @@ "node": ">=10" } }, - "packages/demo/node_modules/swc-loader": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz", - "integrity": "sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==", - "dev": true, - "peerDependencies": { - "@swc/core": "^1.2.147", - "webpack": ">=2" - } - }, "packages/demo/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -51743,9 +51984,9 @@ } }, "@patternfly/patternfly": { - "version": "4.224.5", - "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-4.224.5.tgz", - "integrity": "sha512-io0huj+LCP5FgDZJDaLv1snxktTYs8iCFz/W1VDRneYoebNHLmGfQdF7Yn8bS6PF7qmN6oJKEBlq3AjmmE8vdA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@patternfly/patternfly/-/patternfly-5.0.2.tgz", + "integrity": "sha512-PB8+MLdYVgF1hIOxGmnVsZG+YHUX3RePe5W1oMS4gS00EmSgw1cobr1Qbpy/BqqS8/R9DRN4hZ2FKDT0d5tkFQ==", "dev": true }, "@patternfly/quickstarts": { @@ -51939,7 +52180,7 @@ "version": "file:packages/components", "requires": { "@cypress/webpack-dev-server": "^1.8.4", - "@patternfly/patternfly": "^4.217.0", + "@patternfly/patternfly": "^5.0.0", "@redhat-cloud-services/frontend-components-utilities": "^3.2.25", "@redhat-cloud-services/types": "^0.0.24", "@scalprum/core": "^0.5.1", @@ -52319,35 +52560,6 @@ "webpack-dev-server": "^4.11.1" }, "dependencies": { - "@swc/core": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.73.tgz", - "integrity": "sha512-ihjj/mAQKnXakFdFPlIJOjAvfLLc2f7t9u3k5Vsv8o30utD4/4mw1SAEL9vsPYM14XrMJa6PUNegw6hNxX1D2g==", - "dev": true, - "requires": { - "@swc/core-darwin-arm64": "1.3.73", - "@swc/core-darwin-x64": "1.3.73", - "@swc/core-linux-arm-gnueabihf": "1.3.73", - "@swc/core-linux-arm64-gnu": "1.3.73", - "@swc/core-linux-arm64-musl": "1.3.73", - "@swc/core-linux-x64-gnu": "1.3.73", - "@swc/core-linux-x64-musl": "1.3.73", - "@swc/core-win32-arm64-msvc": "1.3.73", - "@swc/core-win32-ia32-msvc": "1.3.73", - "@swc/core-win32-x64-msvc": "1.3.73" - } - }, - "@swc/helpers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", - "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "tslib": "^2.4.0" - } - }, "css-loader": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", @@ -52394,13 +52606,6 @@ "lru-cache": "^6.0.0" } }, - "swc-loader": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz", - "integrity": "sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==", - "dev": true, - "requires": {} - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -52981,6 +53186,69 @@ } } }, + "@simonsmith/cypress-image-snapshot": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@simonsmith/cypress-image-snapshot/-/cypress-image-snapshot-8.0.2.tgz", + "integrity": "sha512-HWcOwgEk9epYcNuW8msdY7kpHydT7WUWajJiEtAqPT7nFgMaytmdLfM6tjHWqAsyj3+VSWQ4g0rEVr8wQ+M50A==", + "dev": true, + "requires": { + "@types/jest-image-snapshot": "^6.1.0", + "chalk": "^4.1.2", + "jest-image-snapshot": "^6.1.0", + "just-extend": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -54068,80 +54336,101 @@ "@stdlib/utils-global": "^0.0.x" } }, + "@swc/core": { + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.74.tgz", + "integrity": "sha512-P+MIExOTdWlfq8Heb1/NhBAke6UTckd4cRDuJoFcFMGBRvgoCMNWhnfP3FRRXPLI7GGg27dRZS+xHiqYyQmSrA==", + "dev": true, + "requires": { + "@swc/core-darwin-arm64": "1.3.74", + "@swc/core-darwin-x64": "1.3.74", + "@swc/core-linux-arm-gnueabihf": "1.3.74", + "@swc/core-linux-arm64-gnu": "1.3.74", + "@swc/core-linux-arm64-musl": "1.3.74", + "@swc/core-linux-x64-gnu": "1.3.74", + "@swc/core-linux-x64-musl": "1.3.74", + "@swc/core-win32-arm64-msvc": "1.3.74", + "@swc/core-win32-ia32-msvc": "1.3.74", + "@swc/core-win32-x64-msvc": "1.3.74" + } + }, "@swc/core-darwin-arm64": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.73.tgz", - "integrity": "sha512-RwCDCDg3gmgt+p/Kc48o3PdLBSCoFQKLb8QgC7F32Ql9wjVMS3fzy2i6NZ+MnbEnYGQtTcqLbxEDtpV3eMsEHw==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.74.tgz", + "integrity": "sha512-2rMV4QxM583jXcREfo0MhV3Oj5pgRSfSh/kVrB1twL2rQxOrbzkAPT/8flmygdVoL4f2F7o1EY5lKlYxEBiIKQ==", "dev": true, "optional": true }, "@swc/core-darwin-x64": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.73.tgz", - "integrity": "sha512-cHmAWvCVRc7LTdv4LO4mZZXfW3E9NT/KNnLNG/PgWP9QK1bSQ7hUDVKsx70ygR4ONwfhqUuglakzu+xDfNoW+A==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.74.tgz", + "integrity": "sha512-KKEGE1wXneYXe15fWDRM8/oekd/Q4yAuccA0vWY/7i6nOSPqWYcSDR0nRtR030ltDxWt0rk/eCTmNkrOWrKs3A==", "dev": true, "optional": true }, "@swc/core-linux-arm-gnueabihf": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.73.tgz", - "integrity": "sha512-EmJALh7KUJhcdr7uUQg7wTpdcX5k1Xjspgy3QMg8j2dwb4DsnFgrnArsFNXHBB1Dj7LlQSoyxQ5mBcJtUtCb8A==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.74.tgz", + "integrity": "sha512-HehH5DR6r/5fIVu7tu8ZqgrHkhSCQNewf1ztFQJgcmaQWn+H4AJERBjwkjosqh4TvUJucZv8vyRTvrFeBXaCSA==", "dev": true, "optional": true }, "@swc/core-linux-arm64-gnu": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.73.tgz", - "integrity": "sha512-RK6jTm8ppvglh42YOq/k2AqpHS9uYP5h5FNMmA9OI8lupCCS8HMtexbwqw+Xd0MGmSrsJiURw3Z6az8cEObrag==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.74.tgz", + "integrity": "sha512-+xkbCRz/wczgdknoV4NwYxbRI2dD7x/qkIFcVM2buzLCq8oWLweuV8+aL4pRqu0qDh7ZSb1jcaVTUIsySCJznA==", "dev": true, "optional": true }, "@swc/core-linux-arm64-musl": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.73.tgz", - "integrity": "sha512-hhS6yfgZLKPVAklGjKlbyf9InAhDGj3u+jbZkjStrOgtYNBCk5tbkROZP9ib5enN9m9Oosl5gM5v6oTw27TbUw==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.74.tgz", + "integrity": "sha512-maKFZSCD3tQznzPV7T3V+TtiWZFEFM8YrnSS5fQNNb+K9J65sL+170uTb3M7H4cFkG+9Sm5k5yCrCIutlvV48g==", "dev": true, "optional": true }, "@swc/core-linux-x64-gnu": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.73.tgz", - "integrity": "sha512-ZGcY63EtFW5OLz1tsKhqhymzvoto329c0oRS9ptzMO66eUrjsHxTt5uPixrI24F6y+bn+qFqsgIw3nwMV8jTPw==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.74.tgz", + "integrity": "sha512-LEXpcShF6DLTWJSiBhMSYZkLQ27UvaQ24fCFhoIV/R3dhYaUpHmIyLPPBNC82T03lB3ONUFVwrRw6fxDJ/f00A==", "dev": true, "optional": true }, "@swc/core-linux-x64-musl": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.73.tgz", - "integrity": "sha512-DMz2W0PnzMXAhbMPGArQUBVayyzzzuivvJyJkyFaMPiIwaI+QG+UvLgjSM7NmG/9Eq9hX2zZ1zdaalVKXyyCHQ==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.74.tgz", + "integrity": "sha512-sxsFctbFMZEFmDE7CmYljG0dMumH8XBTwwtGr8s6z0fYAzXBGNq2AFPcmEh2np9rPWkt7pE1m0ByESD+dMkbxQ==", "dev": true, "optional": true }, "@swc/core-win32-arm64-msvc": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.73.tgz", - "integrity": "sha512-yHB1jG3c4/5An//nA9+War6oiNrM/NUz6ivDPbrBfbJHtU/iPfgdAvxfm5/xpOFx4U18JJHnOt853sDyXJwi/A==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.74.tgz", + "integrity": "sha512-F7hY9/BjFCozA4YPFYFH5FGCyWwa44vIXHqG66F5cDwXDGFn8ZtBsYIsiPfUYcx0AeAo1ojnVWKPxokZhYNYqA==", "dev": true, "optional": true }, "@swc/core-win32-ia32-msvc": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.73.tgz", - "integrity": "sha512-cA61i4VPTrABAZ8LDvNVqwcO1VLEDO+71iWettvhyk7p6/H/lXG4VQVyHcncmfrAUzDQalXVbgZm6MA3hpqhFQ==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.74.tgz", + "integrity": "sha512-qBAsiD1AlIdqED6wy3UNRHyAys9pWMUidX0LJ6mj24r/vfrzzTBAUrLJe5m7bzE+F1Rgi001avYJeEW1DLEJ+Q==", "dev": true, "optional": true }, "@swc/core-win32-x64-msvc": { - "version": "1.3.73", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.73.tgz", - "integrity": "sha512-QwTO9IlIpEr2GsJvW8qNVvQXTzT1ASqf8C8aZDLtVwHKdreTMjlrNMRYw1883DVLRuHMs5RLP4IA2A47Oexp1Q==", + "version": "1.3.74", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.74.tgz", + "integrity": "sha512-S3YAvvLprTnPRwQuy9Dkwubb5SRLpVK3JJsqYDbGfgj8PGQyKHZcVJ5X3nfFsoWLy3j9B/3Os2nawprRSzeC5A==", "dev": true, "optional": true }, "@swc/helpers": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", - "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "dev": true, + "optional": true, + "peer": true, "requires": { "tslib": "^2.4.0" } @@ -54677,6 +54966,17 @@ "pretty-format": "^27.0.0" } }, + "@types/jest-image-snapshot": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@types/jest-image-snapshot/-/jest-image-snapshot-6.2.0.tgz", + "integrity": "sha512-LG8r7GzYJE9sETkSe4z6k1lVyab0nnln6wGcNXOat8Kny3opvjqw1A5cIKf4mWdsTPuIuCtdMO+KmQLPFZ14Yw==", + "dev": true, + "requires": { + "@types/jest": "*", + "@types/pixelmatch": "*", + "ssim.js": "^3.1.1" + } + }, "@types/jsdom": { "version": "20.0.1", "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", @@ -54793,6 +55093,15 @@ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" }, + "@types/pixelmatch": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@types/pixelmatch/-/pixelmatch-5.2.4.tgz", + "integrity": "sha512-HDaSHIAv9kwpMN7zlmwfTv6gax0PiporJOipcrGsVNF3Ba+kryOZc0Pio5pn6NhisgWr7TaajlPEKTbTAypIBQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", @@ -62223,6 +62532,12 @@ "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", "dev": true }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==", + "dev": true + }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -62516,6 +62831,12 @@ } } }, + "glur": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz", + "integrity": "sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA==", + "dev": true + }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -65742,6 +66063,79 @@ } } }, + "jest-image-snapshot": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-6.2.0.tgz", + "integrity": "sha512-9mTHBKiiSIZ26csbLmjKyN+SrVypM93S5y+jULCvn6YItgepvcrJIKGNeSyt9d2EZiutOroLs/UjtrWiBzpHbA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "get-stdin": "^5.0.1", + "glur": "^1.1.2", + "lodash": "^4.17.4", + "pixelmatch": "^5.1.0", + "pngjs": "^3.4.0", + "rimraf": "^2.6.2", + "ssim.js": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jest-leak-detector": { "version": "29.6.2", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.6.2.tgz", @@ -67087,6 +67481,12 @@ "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==", "dev": true }, + "just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true + }, "jwa": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", @@ -69366,6 +69766,14 @@ "use-sync-external-store": "1.2.0" }, "dependencies": { + "@swc/helpers": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", + "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "requires": { + "tslib": "^2.4.0" + } + }, "postcss": { "version": "8.4.14", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", @@ -74887,6 +75295,12 @@ "tweetnacl": "~0.14.0" } }, + "ssim.js": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ssim.js/-/ssim.js-3.5.0.tgz", + "integrity": "sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==", + "dev": true + }, "ssri": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", @@ -75306,6 +75720,13 @@ "upper-case": "^1.1.1" } }, + "swc-loader": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.3.tgz", + "integrity": "sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A==", + "dev": true, + "requires": {} + }, "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", diff --git a/package.json b/package.json index e5400c1dbe..56a55b28ee 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,8 @@ "@patternfly/react-core": "^5.0.0", "@patternfly/react-icons": "^5.0.0", "@patternfly/react-table": "^5.0.0", + "@simonsmith/cypress-image-snapshot": "^8.0.2", + "@swc/core": "^1.3.74", "@testing-library/dom": "^8.18.1", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^14.0.0", @@ -110,6 +112,7 @@ "resolve-url-loader": "^5.0.0", "sass": "^1.55.0", "style-to-object": "^0.3.0", + "swc-loader": "^0.2.3", "ts-jest": "^29.1.1", "typescript": "^4.8.4", "whatwg-fetch": "^3.6.2" diff --git a/packages/advisor-components/.gitignore b/packages/advisor-components/.gitignore index cc2257b939..0fe05c9743 100644 --- a/packages/advisor-components/.gitignore +++ b/packages/advisor-components/.gitignore @@ -24,6 +24,7 @@ !cypress !cypress/* !.eslintrc +!cypress.config.js # Incremental ts info tsconfig.tsbuildinfo diff --git a/packages/advisor-components/README.md b/packages/advisor-components/README.md index 0c4f33530a..38cd525464 100644 --- a/packages/advisor-components/README.md +++ b/packages/advisor-components/README.md @@ -20,12 +20,12 @@ This package is dependent on [@redhat-cloud-services/frontend-components](https: Run cypress component tests in terminal: ```bash -npx cypress run-ct +npx cypress run --component ``` Run cypress components tests in the interactive (window) mode: ```bash -npx cypress open-ct +npx cypress open --component ``` ## Documentation Links diff --git a/packages/advisor-components/cypress.config.js b/packages/advisor-components/cypress.config.js new file mode 100644 index 0000000000..98b05f9ea7 --- /dev/null +++ b/packages/advisor-components/cypress.config.js @@ -0,0 +1,34 @@ +const { defineConfig } = require('cypress') +const { addMatchImageSnapshotPlugin } = require('@simonsmith/cypress-image-snapshot/plugin'); + +/** @type {import('cypress').defineConfig} */ +module.exports = defineConfig({ + component: { + specPattern: "src/**/*.spec.ct.{js,ts,jsx,tsx}", + viewportHeight: 660, + viewportWidth: 1000, + video: false, + devServer: { + framework: 'react', + bundler: 'webpack', + webpackConfig: require('./cypress/cypress.webpack.config') + }, + setupNodeEvents(on, config) { + addMatchImageSnapshotPlugin(on, config); + on('before:browser:launch', (browser, launchOptions) => { + if (browser.name === 'chrome' && browser.isHeadless) { + launchOptions.args.push('--window-size=1280,720'); + + // force screen to be non-retina + launchOptions.args.push('--force-device-scale-factor=1'); + } + + if (browser.name === 'electron' && browser.isHeadless) { + // fullPage screenshot size is 1280x720 + launchOptions.preferences.width = 1280; + launchOptions.preferences.height = 720; + } + }); + }, + } +}) diff --git a/packages/advisor-components/cypress.json b/packages/advisor-components/cypress.json deleted file mode 100644 index b4a81e524e..0000000000 --- a/packages/advisor-components/cypress.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "component": { - "componentFolder": "src/", - "testFiles": "**/*.spec.ct.{js,ts,jsx,tsx}", - "viewportHeight": 660, - "viewportWidth": 1000 - }, - "video": false -} diff --git a/packages/advisor-components/cypress/cypress.webpack.config.js b/packages/advisor-components/cypress/cypress.webpack.config.js index 1bcf9de240..6019761260 100644 --- a/packages/advisor-components/cypress/cypress.webpack.config.js +++ b/packages/advisor-components/cypress/cypress.webpack.config.js @@ -1,29 +1,62 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); +const { createJoinFunction, createJoinImplementation, asGenerator, defaultJoinGenerator } = require('resolve-url-loader'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); + +// call default generator then pair different variations of uri with each base +const myGenerator = asGenerator((item, ...rest) => { + const defaultTuples = [...defaultJoinGenerator(item, ...rest)]; + if (item.uri.includes('./assets')) { + return defaultTuples.map(([base]) => { + if (base.includes('@patternfly/patternfly')) { + return [base, path.relative(base, path.resolve(__dirname, '../node_modules/@patternfly/patternfly', item.uri))]; + } + }); + } + return defaultTuples; +}); module.exports = { - entry: '../src/index.ts', module: { rules: [ { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/, - }, - { - test: /\.jsx?$/, + test: /\.(js|ts)x?$/, exclude: /node_modules/, use: { - loader: 'babel-loader', - } + loader: 'swc-loader', + options: { + jsc: { + parser: { + syntax: 'typescript', + tsx: true, + }, + }, + }, + }, }, { test: /\.s?[ac]ss$/, - use: ['style-loader', 'css-loader', 'sass-loader'], + use: [ + MiniCssExtractPlugin.loader, + 'css-loader', + { + loader: 'resolve-url-loader', + options: { + join: createJoinFunction('myJoinFn', createJoinImplementation(myGenerator)), + }, + }, + { + loader: 'sass-loader', + options: { + sourceMap: true, + }, + }, + ], }, { - test: /\.(png|svg|jpg|jpeg)/, - type: 'asset/resource' - } + test: /\.(jpe?g|svg|png|gif|ico|eot|ttf|woff2?)(\?v=\d+\.\d+\.\d+)?$/i, + type: 'asset/resource', + }, ], }, resolve: { @@ -37,6 +70,22 @@ module.exports = { }, output: { filename: 'bundle.js', + hashFunction: 'xxhash64', path: path.resolve(__dirname, 'dist'), }, + cache: { + type: 'filesystem', + buildDependencies: { + config: [__filename], + }, + cacheDirectory: path.resolve(__dirname, '../.cypress-cache'), + }, + stats: { + errorDetails: true, + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: '[name].[fullhash].css', + }), + ], }; diff --git a/packages/advisor-components/cypress/snapshots/src/ReportDetails/ReportDetails.spec.ct.js/report details kba loaded -- renders component and matches screenshot.snap.png b/packages/advisor-components/cypress/snapshots/src/ReportDetails/ReportDetails.spec.ct.js/report details kba loaded -- renders component and matches screenshot.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..eb38b6639fc9ce009416d335fab8adaac07b77e8 GIT binary patch literal 196218 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�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 + + + + + + Components App + + +
+ + \ No newline at end of file diff --git a/packages/advisor-components/cypress/support/component.js b/packages/advisor-components/cypress/support/component.js new file mode 100644 index 0000000000..7b8f19e24d --- /dev/null +++ b/packages/advisor-components/cypress/support/component.js @@ -0,0 +1,46 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable @typescript-eslint/no-var-requires */ +/* eslint-disable prettier/prettier */ +// *********************************************************** +// This example support/component.ts is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' +import '@patternfly/patternfly/patternfly.css'; +import '@patternfly/patternfly/patternfly-addons.css'; + +// Alternatively you can use CommonJS syntax: +// require('./commands') + +import { mount } from 'cypress/react' +const { addMatchImageSnapshotCommand, } = require('@simonsmith/cypress-image-snapshot/command'); + +// configure the matcher to be less precise to adjust between the headless and normal browser rendering differences +addMatchImageSnapshotCommand({ + failureThreshold: 0.03, // threshold for entire image + failureThresholdType: 'percent', // percent of image or number of pixels + customDiffConfig: { threshold: 0.1 }, // threshold for each pixel + capture: 'viewport', // capture viewport in screenshot +}); + +// Augment the Cypress namespace to include type definitions for +// your custom command. +// Alternatively, can be defined in cypress/support/component.d.ts +// with a at the top of your spec. + +Cypress.Commands.add('mount', mount) + +// Example use: +// cy.mount() diff --git a/packages/advisor-components/cypress/support/index.js b/packages/advisor-components/cypress/support/index.js deleted file mode 100644 index 821160d88f..0000000000 --- a/packages/advisor-components/cypress/support/index.js +++ /dev/null @@ -1,22 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands'; -import '@patternfly/patternfly/patternfly.scss'; -import '@frsource/cypress-plugin-visual-regression-diff'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/packages/advisor-components/package.json b/packages/advisor-components/package.json index fc9001bfb2..9bd2388eed 100644 --- a/packages/advisor-components/package.json +++ b/packages/advisor-components/package.json @@ -14,8 +14,8 @@ "build:css": "node ../../scripts/build-styles.js", "build:packages": "node ../../scripts/build-packages.js --forceTypes", "start": "concurrently \"npm run build:esm -- --watch\" \"npm run build:js -- --watch\" \"npm run build:css -- --watch\"", - "test:ct": "cypress run-ct", - "test:openct": "cypress open-ct" + "test:ct": "cypress run --component", + "test:openct": "cypress open --component" }, "repository": { "type": "git", diff --git a/packages/advisor-components/src/ReportDetails/ReportDetails.spec.ct.js b/packages/advisor-components/src/ReportDetails/ReportDetails.spec.ct.js index 8a682b9b02..5d09f0675c 100644 --- a/packages/advisor-components/src/ReportDetails/ReportDetails.spec.ct.js +++ b/packages/advisor-components/src/ReportDetails/ReportDetails.spec.ct.js @@ -18,7 +18,7 @@ describe('report details: kba loaded', () => { }); it('renders component and matches screenshot', () => { - cy.get(ROOT).matchImage({ + cy.get(ROOT).matchImageSnapshot({ maxDiffThreshold: 0.5, }); }); @@ -29,7 +29,7 @@ describe('report details: kba loaded', () => { }); it('each header has an icon', () => { - cy.get('.pf-v5-c-card__header > .ins-c-report-details__icon').should('have.length', HEADERS.length); + cy.get('.pf-v5-c-card__header-main > .ins-c-report-details__icon').should('have.length', HEADERS.length); }); it('links have an icon', () => { diff --git a/packages/components/.gitignore b/packages/components/.gitignore index 83be8ee31d..0a7589af2d 100644 --- a/packages/components/.gitignore +++ b/packages/components/.gitignore @@ -20,6 +20,8 @@ !tsconfig.json !pre-publish.js !tsconfig.* +!cypress.config.js +!cypress/support/component.js # Incremental ts info tsconfig.tsbuildinfo diff --git a/packages/components/.npmignore b/packages/components/.npmignore index bac11bec76..d685433004 100644 --- a/packages/components/.npmignore +++ b/packages/components/.npmignore @@ -8,3 +8,5 @@ doc/ config/ tsconfig.json pre-publish.js +.cypress-cache/ +cypress/ diff --git a/packages/components/babel.config.js b/packages/components/babel.config.js index f3679aa9b9..e69de29bb2 100644 --- a/packages/components/babel.config.js +++ b/packages/components/babel.config.js @@ -1,3 +0,0 @@ -module.exports = { - extends: '../../babel.config.js' -}; diff --git a/packages/components/cypress.config.js b/packages/components/cypress.config.js new file mode 100644 index 0000000000..644f8f890b --- /dev/null +++ b/packages/components/cypress.config.js @@ -0,0 +1,16 @@ +const { defineConfig } = require('cypress') + +/** @type {import('cypress').defineConfig} */ +module.exports = defineConfig({ + component: { + specPattern: "src/**/*.spec.ct.{js,ts,jsx,tsx}", + viewportHeight: 660, + viewportWidth: 1000, + video: false, + devServer: { + framework: 'react', + bundler: 'webpack', + webpackConfig: require('./cypress/cypress.webpack.config') + } + } +}) diff --git a/packages/components/cypress.json b/packages/components/cypress.json deleted file mode 100644 index b4a81e524e..0000000000 --- a/packages/components/cypress.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "component": { - "componentFolder": "src/", - "testFiles": "**/*.spec.ct.{js,ts,jsx,tsx}", - "viewportHeight": 660, - "viewportWidth": 1000 - }, - "video": false -} diff --git a/packages/components/cypress/cypress.webpack.config.js b/packages/components/cypress/cypress.webpack.config.js index 43a1ebb3bc..5a03605164 100644 --- a/packages/components/cypress/cypress.webpack.config.js +++ b/packages/components/cypress/cypress.webpack.config.js @@ -1,57 +1,89 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path'); +const { createJoinFunction, createJoinImplementation, asGenerator, defaultJoinGenerator } = require('resolve-url-loader'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const searchIgnoredStyles = require('@redhat-cloud-services/frontend-components-config-utilities/search-ignored-styles'); // call default generator then pair different variations of uri with each base - +const myGenerator = asGenerator((item, ...rest) => { + const defaultTuples = [...defaultJoinGenerator(item, ...rest)]; + if (item.uri.includes('./assets')) { + return defaultTuples.map(([base]) => { + if (base.includes('@patternfly/patternfly')) { + return [base, path.relative(base, path.resolve(__dirname, '../node_modules/@patternfly/patternfly', item.uri))]; + } + }); + } + return defaultTuples; +}); module.exports = { - entry: '../src/index.ts', - resolve: { - ...searchIgnoredStyles(path.resolve(__dirname, '../')), - }, module: { rules: [ { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /\.jsx?$/, + test: /\.(js|ts)x?$/, exclude: /node_modules/, - use: 'babel-loader', + use: { + loader: 'swc-loader', + options: { + jsc: { + parser: { + syntax: 'typescript', + tsx: true, + }, + }, + }, + }, }, { test: /\.s?[ac]ss$/, use: [ - 'style-loader', + MiniCssExtractPlugin.loader, + 'css-loader', { - loader: 'css-loader', + loader: 'resolve-url-loader', options: { - url :false - } - }, { + join: createJoinFunction('myJoinFn', createJoinImplementation(myGenerator)), + }, + }, + { loader: 'sass-loader', options: { - sourceMap: true - } - } + sourceMap: true, + }, + }, ], }, { test: /\.(jpe?g|svg|png|gif|ico|eot|ttf|woff2?)(\?v=\d+\.\d+\.\d+)?$/i, type: 'asset/resource', }, - ] + ], }, resolve: { - extensions: ['.tsx', '.ts', '.js'] + extensions: ['.tsx', '.ts', '.js'], + alias: { + // ...searchIgnoredStyles(path.resolve(__dirname, '../')), + }, }, output: { filename: 'bundle.js', + hashFunction: 'xxhash64', path: path.resolve(__dirname, 'dist'), }, + cache: { + type: 'filesystem', + buildDependencies: { + config: [__filename], + }, + cacheDirectory: path.resolve(__dirname, '../.cypress-cache'), + }, stats: { - errorDetails: true - } + errorDetails: true, + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: '[name].[fullhash].css', + }), + ], }; diff --git a/packages/components/cypress/plugins/index.js b/packages/components/cypress/plugins/index.js index 05d0cb7387..e69de29bb2 100644 --- a/packages/components/cypress/plugins/index.js +++ b/packages/components/cypress/plugins/index.js @@ -1,30 +0,0 @@ -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -// eslint-disable-next-line no-unused-vars -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config - if (config.testingType === 'component') { - const { startDevServer } = require('@cypress/webpack-dev-server'); - - // Your project's Webpack configuration - const webpackConfig = require('../cypress.webpack.config.js') - - on('dev-server:start', (options) => startDevServer({options, webpackConfig})); - } -} diff --git a/packages/components/cypress/support/index.js b/packages/components/cypress/support/index.js deleted file mode 100644 index 688de3ca73..0000000000 --- a/packages/components/cypress/support/index.js +++ /dev/null @@ -1,21 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' -import '@patternfly/patternfly/patternfly.css'; - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/packages/components/package.json b/packages/components/package.json index ec7bbd4745..8ea39a7112 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -19,8 +19,8 @@ "start": "concurrently \"npm run build:esm -- --watch\" \"npm run build:js -- --watch\" \"npm run build:css -- --watch\" \"npm run build:packages\"", "build:esm": "tsc --module es2015 --target es5", "build:js": "tsc -p tsconfig.cjs.json", - "test:ct": "cypress run-ct", - "test:openct": "cypress open-ct", + "test:ct": "cypress run --component", + "test:openct": "cypress open --component", "transform:css": "node ../../scripts/transform-scss.js" }, "repository": { @@ -54,7 +54,7 @@ "@redhat-cloud-services/types": "^0.0.24" }, "devDependencies": { - "@patternfly/patternfly": "^4.217.0", + "@patternfly/patternfly": "^5.0.0", "node-sass-package-importer": "^5.3.2", "@types/react": "^18.0.0", "@cypress/webpack-dev-server": "^1.8.4", diff --git a/packages/components/src/Breadcrumbs/Breadcrumbs.spec.ct.js b/packages/components/src/Breadcrumbs/Breadcrumbs.spec.ct.js index 79df702418..0211456e06 100644 --- a/packages/components/src/Breadcrumbs/Breadcrumbs.spec.ct.js +++ b/packages/components/src/Breadcrumbs/Breadcrumbs.spec.ct.js @@ -1,5 +1,4 @@ import React from 'react'; -import { mount } from '@cypress/react'; import { Breadcrumbs } from '..'; @@ -10,18 +9,18 @@ describe('Breadcrumbs component', () => { ]; it('renders without any items', () => { - mount(); + cy.mount(); cy.get('.ins-c-breadcrumbs'); }); it('renders multiple items correctly', () => { - mount(); + cy.mount(); cy.get('.pf-v5-c-breadcrumb__list').children().should('have.length', 3); }); it('fires callback when an item is clicked', () => { const onNavigateSpy = cy.spy().as('onNavigateSpy'); - mount(); + cy.mount(); cy.get('.pf-v5-c-breadcrumb__list > li[data-key="1"] > a').click(); cy.get('@onNavigateSpy').should('have.been.calledWithMatch', Cypress.sinon.match.object, 'second', 1); }); diff --git a/packages/components/src/BulkSelect/BulkSelect.spec.ct.js b/packages/components/src/BulkSelect/BulkSelect.spec.ct.js index 42cc1a4a44..1de19780b6 100644 --- a/packages/components/src/BulkSelect/BulkSelect.spec.ct.js +++ b/packages/components/src/BulkSelect/BulkSelect.spec.ct.js @@ -1,5 +1,4 @@ import React from 'react'; -import { mount } from '@cypress/react'; import { BulkSelect } from '..'; @@ -20,35 +19,36 @@ describe('BulkSelect component', () => { }; it('renders checked component without data', () => { - mount(); + cy.mount(); cy.get('.ins-c-bulk-select').find('>input').should('be.checked'); }); it('renders component with data', () => { - mount(); - cy.get('#toggle-checkbox-text').should('contain.text', '100'); - cy.get('.pf-v5-c-dropdown__toggle-button').click(); - cy.get('.pf-v5-c-dropdown__menu').find('>li>button').should('have.length', 2); + cy.mount(); + cy.get('#toggle-checkbox').should('contain.text', '100'); + cy.get('.pf-v5-c-menu-toggle').click(); + // PF has one extra hidden button element + cy.get('.pf-v5-c-menu__list').find('>li>button').should('have.length', 3); }); it('cannot be expanded or checked when disabled', () => { - mount(); - cy.get('.pf-v5-c-dropdown__toggle-button').click({ force: true }); - cy.get('.pf-v5-c-dropdown__menu').should('not.exist'); - cy.get('#toggle-checkbox').check({ force: true }); - cy.get('#toggle-checkbox').should('not.be.checked'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click({ force: true }); + cy.get('.pf-v5-c-menu__list').should('not.exist'); + cy.get('input[name="toggle-checkbox"]').check({ force: true }); + cy.get('input[name="toggle-checkbox"]').should('not.be.checked'); }); it('buttons (do not) respond to being clicked', () => { config.items[0].onClick = cy.spy().as('enabledSpy'); config.items[1].onClick = cy.spy().as('disabledSpy'); config.onClick = cy.spy().as('checkboxSpy'); - mount(); - cy.get('.pf-v5-c-dropdown__toggle-button').click(); - cy.get('.pf-v5-c-dropdown__menu').find('>li>button').eq(0).click(); - cy.get('.pf-v5-c-dropdown__toggle-button').click(); - cy.get('.pf-v5-c-dropdown__menu').find('>li>button').eq(1).click({ force: true }); - cy.get('#toggle-checkbox').check(); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__list').find('>li>button').eq(1).click(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__list').find('>li>button').eq(2).click({ force: true }); + cy.get('input[name="toggle-checkbox"]').check(); cy.get('@enabledSpy').should('have.been.called'); cy.get('@disabledSpy').should('not.have.been.called'); cy.get('@checkboxSpy').should('have.been.called'); diff --git a/packages/components/src/BulkSelect/BulkSelect.tsx b/packages/components/src/BulkSelect/BulkSelect.tsx index d25605f212..2a1f61264d 100644 --- a/packages/components/src/BulkSelect/BulkSelect.tsx +++ b/packages/components/src/BulkSelect/BulkSelect.tsx @@ -70,7 +70,14 @@ const BulkSelect: React.FunctionComponent = ({ ouiaId={ouiaFinalId} ouiaSafe={ouiaSafe} toggle={(toggleRef) => ( - setIsOpen((prev) => !prev)}> + setIsOpen((prev) => !prev)} + > {hasError ? ( { it('renders empty', () => { - mount(); - cy.get('.ins-c-conditional-filter'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle'); }); it('renders with correct attributes', () => { - mount(); - cy.get('.ins-c-conditional-filter').invoke('attr', 'placeholder').should('contain', 'foo'); - cy.get('.ins-c-conditional-filter').should('be.disabled'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle__text').should('contain', 'foo'); + cy.get('.pf-v5-c-menu-toggle').should('be.disabled'); }); it('default value is set', () => { - mount(); - cy.get('.pf-v5-c-select__toggle').click(); - cy.get('.pf-v5-c-select__menu').children().should('have.length', 2); - cy.get('.pf-v5-c-select__toggle-badge').should('contain', '1'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__list').children().should('have.length', 2); + cy.get('.pf-v5-c-badge').should('contain', '1'); }); it('onChange called', () => { const onChangeSpy = cy.spy().as('ocSpy'); - mount(); - cy.get('.pf-v5-c-select__toggle').click(); - cy.get('.pf-v5-c-select__menu > :nth-child(1)').click(); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__list > :nth-child(1)').click(); cy.get('@ocSpy').should('have.been.called'); }); }); diff --git a/packages/components/src/ConditionalFilter/ConditionalFilter.spec.ct.js b/packages/components/src/ConditionalFilter/ConditionalFilter.spec.ct.js index 4d09d4e860..210f761157 100644 --- a/packages/components/src/ConditionalFilter/ConditionalFilter.spec.ct.js +++ b/packages/components/src/ConditionalFilter/ConditionalFilter.spec.ct.js @@ -1,11 +1,11 @@ import React from 'react'; -import { mount } from '@cypress/react'; import ConditionalFilter from './ConditionalFilter'; describe('ConditionalFilter component', () => { const config = [ { + type: 'text', label: 'text', }, { @@ -62,37 +62,37 @@ describe('ConditionalFilter component', () => { ]; it('renders empty', () => { - mount(); + cy.mount(); cy.get('.ins-c-conditional-filter'); }); it('renders disabled', () => { - mount(); - cy.get('.pf-v5-c-dropdown').click({ force: true }); - cy.get('.pf-v5-c-dropdown__menu').should('not.exist'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click({ force: true }); + cy.get('.pf-v5-c-menu__item').should('not.exist'); }); it('renders with data', () => { - mount(); + cy.mount(); cy.get('.ins-c-conditional-filter'); - cy.get('.pf-v5-c-dropdown').click(); - cy.get('.pf-v5-c-dropdown__menu').children().should('have.length', 4); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__item').children().should('have.length', 4); }); it('filter changes on click', () => { - mount(); - cy.get('.pf-v5-c-dropdown').click(); - cy.get('.pf-v5-c-dropdown__menu').children().eq(1).click(); - cy.get('.pf-v5-c-dropdown').should('not.contain.text', 'Text'); - cy.get('.pf-v5-c-select').click(); - cy.get('.pf-v5-c-select__menu'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__item').children().eq(1).click(); + cy.get('.pf-v5-c-menu-toggle').should('not.contain.text', 'Text'); + cy.get('.pf-m-fill > .pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu'); }); it('onChange called', () => { const ocSpy = cy.spy().as('ocSpy'); - mount(); - cy.get('.pf-v5-c-dropdown').click(); - cy.get('.pf-v5-c-dropdown__menu').children().eq(2).click(); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu__item').children().eq(2).click(); cy.get('@ocSpy').should('have.been.called'); }); }); diff --git a/packages/components/src/ConditionalFilter/GroupFilter.spec.ct.js b/packages/components/src/ConditionalFilter/GroupFilter.spec.ct.js index c120d0dabe..9da9cce4cc 100644 --- a/packages/components/src/ConditionalFilter/GroupFilter.spec.ct.js +++ b/packages/components/src/ConditionalFilter/GroupFilter.spec.ct.js @@ -1,5 +1,4 @@ import React from 'react'; -import { mount } from '@cypress/react'; import Group from './GroupFilter'; @@ -71,24 +70,24 @@ describe('GroupFilter component', () => { }; it('renders empty', () => { - mount(); +cy.mount(); cy.get('.pf-v5-c-menu-toggle'); }); it('renders with placeholder', () => { - mount(); +cy.mount(); cy.get('.pf-v5-c-menu-toggle__text').should('contain', 'foo'); }); it('renders with data', () => { - mount( undefined} />); +cy.mount( undefined} />); cy.get('.pf-v5-c-menu-toggle__controls').click(); cy.get('.pf-v5-c-menu__item').should('have.length', 11); }); it('onChange called', () => { const ocSpy = cy.spy().as('ocSpy'); - mount(); +cy.mount(); cy.get('.pf-v5-c-menu-toggle__controls').click(); cy.get('.pf-v5-c-menu__item').eq(5).click(); cy.get('@ocSpy').should('have.been.called'); diff --git a/packages/components/src/ConditionalFilter/RadioFilter.spec.ct.js b/packages/components/src/ConditionalFilter/RadioFilter.spec.ct.js index e35a3c0e4e..03f7dc29f0 100644 --- a/packages/components/src/ConditionalFilter/RadioFilter.spec.ct.js +++ b/packages/components/src/ConditionalFilter/RadioFilter.spec.ct.js @@ -1,5 +1,4 @@ import React from 'react'; -import { mount } from '@cypress/react'; import Radio from './RadioFilter'; @@ -18,38 +17,38 @@ describe('RadioFilter component', () => { }; it('renders empty', () => { - mount(); - cy.get('.ins-c-conditional-filter'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle'); }); it('renders disabled', () => { - mount(); - cy.get('.pf-v5-c-select__toggle').should('be.disabled'); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').should('be.disabled'); }); it('renders with data', () => { - mount(); - cy.get('.pf-v5-c-select__toggle').click(); - cy.get('.pf-v5-c-select__menu').children().should('have.length', 2); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu ul.pf-v5-c-menu__list').children().should('have.length', 2); }); it('renders with default value and placeholder', () => { - mount(); - cy.get('.pf-v5-c-select__toggle').click(); - cy.get('.pf-v5-c-select__menu') + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu ul.pf-v5-c-menu__list') .children() .eq(1) .within(() => { cy.get('.pf-v5-c-radio__input').should('be.checked'); }); - cy.get('.pf-v5-c-select__toggle-text').should('contain', 'baz'); + cy.get('.pf-v5-c-menu-toggle__text').should('contain', 'baz'); }); it('onChange called', () => { const changeSpy = cy.spy().as('cSpy'); - mount(); - cy.get('.pf-v5-c-select__toggle').click(); - cy.get('.pf-v5-c-select__menu').children().eq(1).click(); + cy.mount(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu ul.pf-v5-c-menu__list').children().eq(1).click(); cy.get('@cSpy').should('have.been.called'); }); }); diff --git a/packages/components/src/ConditionalFilter/TextFilter.spec.ct.js b/packages/components/src/ConditionalFilter/TextFilter.spec.ct.js index 182651e8a6..485d5c6536 100644 --- a/packages/components/src/ConditionalFilter/TextFilter.spec.ct.js +++ b/packages/components/src/ConditionalFilter/TextFilter.spec.ct.js @@ -1,23 +1,22 @@ import React from 'react'; -import { mount } from '@cypress/react'; import Text from './TextFilter'; describe('TextFilter component', () => { it('renders empty', () => { - mount(); + cy.mount(); cy.get('.ins-c-conditional-filter'); }); it('renders disabled with placeholder', () => { - mount(); - cy.get('.ins-c-conditional-filter').should('be.disabled'); - cy.get('.ins-c-conditional-filter').invoke('attr', 'placeholder').should('contain', 'foo'); + cy.mount(); + cy.get('.ins-c-conditional-filter input').should('be.disabled'); + cy.get('.ins-c-conditional-filter input').invoke('attr', 'placeholder').should('contain', 'foo'); }); it('onChange called', () => { const ocSpy = cy.spy().as('cSpy'); - mount(); + cy.mount(); cy.get('.ins-c-conditional-filter').type('foo'); cy.get('@cSpy').should('have.been.called'); }); diff --git a/packages/components/src/DownloadButton/DownloadButton.spec.ct.js b/packages/components/src/DownloadButton/DownloadButton.spec.ct.js index 17b4ba08f2..00824b9d74 100644 --- a/packages/components/src/DownloadButton/DownloadButton.spec.ct.js +++ b/packages/components/src/DownloadButton/DownloadButton.spec.ct.js @@ -1,24 +1,23 @@ import React from 'react'; -import { mount } from '@cypress/react'; import { DownloadButton } from '..'; describe('DownloadButton component', () => { beforeEach(() => { - mount(); + cy.mount(); }); it('renders the dropdown', () => { - cy.get('.pf-v5-c-dropdown'); + cy.get('.pf-v5-c-menu-toggle'); }); it('on download CSV callback fired', () => { // Arrange const onSelectSpy = cy.spy().as('onSelectSpy'); - mount(); + cy.mount(); // Act - cy.get('div[data-ouia-component-id="Export"] > button').click(); - cy.get('div[data-ouia-component-id="Export"] > ul > li > button[data-ouia-component-id="DownloadCSV"]').click(); + cy.get('button[aria-label="Export"]').click(); + cy.get('.pf-v5-c-menu__content > ul > li[data-ouia-component-id="DownloadCSV"]').click(); // Assert cy.get('@onSelectSpy').should('have.been.called.with', 'csv'); }); @@ -26,10 +25,10 @@ describe('DownloadButton component', () => { it('on download JSON callback fired', () => { // Arrange const onSelectSpy = cy.spy().as('onSelectSpy'); - mount(); + cy.mount(); // Act - cy.get('div[data-ouia-component-id="Export"] > button').click(); - cy.get('div[data-ouia-component-id="Export"] > ul > li > button[data-ouia-component-id="DownloadJSON"]').click(); + cy.get('button[aria-label="Export"]').click(); + cy.get('.pf-v5-c-menu__content > ul > li[data-ouia-component-id="DownloadJSON"]').click(); // Assert cy.get('@onSelectSpy').should('have.been.called.with', 'json'); }); diff --git a/packages/components/src/PrimaryToolbar/Actions.spec.ct.js b/packages/components/src/PrimaryToolbar/Actions.spec.ct.js index ae7f844af2..a6d9df5a43 100644 --- a/packages/components/src/PrimaryToolbar/Actions.spec.ct.js +++ b/packages/components/src/PrimaryToolbar/Actions.spec.ct.js @@ -1,5 +1,4 @@ import React from 'react'; -import { mount } from '@cypress/react'; import { Actions } from '..'; @@ -32,27 +31,27 @@ describe('Actions component', () => { }; it('empty component is not rendered', () => { - mount(); + cy.mount(); cy.get('.ins-c-primary-toolbar__actions').should('not.exist'); }); it('renders component with data', () => { - mount(); + cy.mount(); cy.get('.ins-c-primary-toolbar__actions'); - cy.get('.pf-v5-c-dropdown__toggle').click(); - cy.get('.pf-v5-c-dropdown__menu').find('>li>button').should('have.length', 5); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu').find('li>button').should('have.length', 5); }); it('functions called on click', () => { config.actions[0].onClick = cy.spy().as('firstActionSpy'); config.actions[1].onClick = cy.spy().as('restActionsSpy'); config.overflowActions[1].onClick = cy.spy().as('ofActionSpy'); - mount(); + cy.mount(); cy.get('.pf-v5-c-button').click(); - cy.get('.pf-v5-c-dropdown__toggle').click(); - cy.get('.pf-v5-c-dropdown__menu').find('>li>button').eq(1).click(); - cy.get('.pf-v5-c-dropdown__toggle').click(); - cy.get('.pf-v5-c-dropdown__menu').find('>li>button').eq(4).click(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu').find('li>button').eq(1).click(); + cy.get('.pf-v5-c-menu-toggle').click(); + cy.get('.pf-v5-c-menu').find('li>button').eq(4).click(); cy.get('@firstActionSpy').should('have.been.called'); cy.get('@restActionsSpy').should('have.been.called'); cy.get('@ofActionSpy').should('have.been.called'); diff --git a/packages/components/src/PrimaryToolbar/PrimaryToolbar.spec.ct.js b/packages/components/src/PrimaryToolbar/PrimaryToolbar.spec.ct.js index ece9d8508c..183221b6bb 100644 --- a/packages/components/src/PrimaryToolbar/PrimaryToolbar.spec.ct.js +++ b/packages/components/src/PrimaryToolbar/PrimaryToolbar.spec.ct.js @@ -88,11 +88,12 @@ describe('PrimaryToolbar component', () => { cy.mount(); // eslint-disable-next-line cypress/unsafe-to-chain-command cy.get('.pf-v5-c-toolbar__content-section') + .first() .within(() => { cy.get('.pf-v5-c-toolbar__group').children().should('have.length', 4); }) .children() - .should('have.length', 6); + .should('have.length', 5); }); it('responds to interaction with individual items', () => { @@ -101,8 +102,8 @@ describe('PrimaryToolbar component', () => { otherConfig.activeFiltersConfig.onDelete = cy.spy().as('afSpy'); cy.mount(); cy.get('[data-ouia-component-id="ExpandCollapseAll"]').click(); - cy.get('button[data-ouia-component-id="BulkSelect"]').click(); - cy.get(':nth-child(2) > .pf-v5-c-dropdown__menu-item').click(); + cy.get('button[aria-label="BulkSelect"]').click(); + cy.get(':nth-child(2) > .pf-v5-c-menu__item').click(); cy.get('[data-ouia-component-id="ClearFilters"]').click(); cy.get('@eaSpy').should('have.been.called'); cy.get('@bsSpy').should('have.been.called'); diff --git a/packages/components/src/PrimaryToolbar/SortBy.spec.ct.js b/packages/components/src/PrimaryToolbar/SortBy.spec.ct.js index 959fa25077..00e05278c5 100644 --- a/packages/components/src/PrimaryToolbar/SortBy.spec.ct.js +++ b/packages/components/src/PrimaryToolbar/SortBy.spec.ct.js @@ -1,22 +1,21 @@ import React from 'react'; -import { mount } from '@cypress/react'; import { SortBy } from '..'; describe('SortBy component', () => { it('renders empty component', () => { - mount(); + cy.mount(); cy.get('.pf-v5-c-button'); }); it('renders with direction set', () => { - mount(); + cy.mount(); cy.get('.pf-v5-c-button'); }); it('onSortChange is called', () => { const sortSpy = cy.spy().as('sortSpy'); - mount(); + cy.mount(); cy.get('.pf-v5-c-button').click(); cy.get('@sortSpy').should('have.been.called'); }); diff --git a/packages/notifications/src/NotificationPortal/NotificationPortal.test.js b/packages/notifications/src/NotificationPortal/NotificationPortal.test.js index 28c106d2fe..5369dcfb95 100644 --- a/packages/notifications/src/NotificationPortal/NotificationPortal.test.js +++ b/packages/notifications/src/NotificationPortal/NotificationPortal.test.js @@ -24,7 +24,7 @@ describe('Notification portal', () => { const t = () => { try { new ReactWrapper( - mount( + cy.mount(