From 65fe9924cd821d2b284fd3c312eb5bd93896e23c Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 13 Dec 2021 16:27:22 +0100 Subject: [PATCH] OZG-1772 OZG-1840 create config/script for ea/ci-ea; add dependency @bahmutov/cypress-extends to avoid redundance --- Jenkinsfile | 2 +- goofy-client/apps/goofy-e2e/cypress-ci.json | 13 +----------- goofy-client/apps/goofy-e2e/cypress.json | 10 ++++----- goofy-client/apps/goofy-e2e/ea-ci-config.json | 18 +--------------- goofy-client/apps/goofy-e2e/ea-config.json | 17 +++++++++++++++ .../apps/goofy-e2e/src/plugins/index.js | 1 + goofy-client/package-lock.json | 21 +++++++++++++++++++ goofy-client/package.json | 8 ++++--- 8 files changed, 52 insertions(+), 38 deletions(-) create mode 100644 goofy-client/apps/goofy-e2e/ea-config.json diff --git a/Jenkinsfile b/Jenkinsfile index bbee81183d..7dd860a81a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -168,7 +168,7 @@ pipeline { container("cypress") { dir('goofy-client') { sh 'npm run cypress:version' - sh 'npm run cypress:ci-ea-run' + sh 'npm run cypress:ci-ea-run --BASE_URL=https://e2e.dev.ozg-sh.de'//TODO: durch eine dynamische url ersetzen } } } diff --git a/goofy-client/apps/goofy-e2e/cypress-ci.json b/goofy-client/apps/goofy-e2e/cypress-ci.json index e9ae33f9b5..ba686d407c 100644 --- a/goofy-client/apps/goofy-e2e/cypress-ci.json +++ b/goofy-client/apps/goofy-e2e/cypress-ci.json @@ -1,4 +1,5 @@ { + "extends": "./cypress.config", "baseUrl": "https://e2e.dev.ozg-sh.de", "env": { "dbUrl": "mongodb+srv://pluto-database-user:XnHhfznNWg65NNd@pluto-database-svc.sh-e2e-dev.svc.cluster.local/admin?ssl=false", @@ -7,18 +8,6 @@ "keycloakUrl": "https://sso.dev.ozg-sh.de/", "keycloakClient": "sh-e2e-dev-goofy" }, - "fileServerFolder": ".", - "fixturesFolder": "./src/fixtures", - "integrationFolder": "./src/integration", - "modifyObstructiveCode": false, - "pluginsFile": "./src/plugins/index", - "supportFile": "./src/support/index.ts", - "video": true, - "videosFolder": "./reports/videos", - "screenshotsFolder": "./reports/screenshots", - "chromeWebSecurity": false, - "reporter": "../../node_modules/cypress-mochawesome-reporter", - "defaultCommandTimeout": 10000, "reporterOptions": { "html": false, "json": true, diff --git a/goofy-client/apps/goofy-e2e/cypress.json b/goofy-client/apps/goofy-e2e/cypress.json index ec5266e69b..9f2c2906f6 100644 --- a/goofy-client/apps/goofy-e2e/cypress.json +++ b/goofy-client/apps/goofy-e2e/cypress.json @@ -1,11 +1,11 @@ { "baseUrl": "http://localhost:4300", "env": { - "dbUrl": "mongodb://localhost:27018", - "database": "test", - "keycloakRealm": "sh-e2e-dev", - "keycloakUrl": "https://sso.dev.ozg-sh.de/", - "keycloakClient": "sh-e2e-dev-goofy" + "dbUrl": "mongodb://localhost:27018", + "database": "test", + "keycloakRealm": "sh-e2e-dev", + "keycloakUrl": "https://sso.dev.ozg-sh.de/", + "keycloakClient": "sh-e2e-dev-goofy" }, "fileServerFolder": ".", "fixturesFolder": "./src/fixtures", diff --git a/goofy-client/apps/goofy-e2e/ea-ci-config.json b/goofy-client/apps/goofy-e2e/ea-ci-config.json index 1073f57210..2702bbef5e 100644 --- a/goofy-client/apps/goofy-e2e/ea-ci-config.json +++ b/goofy-client/apps/goofy-e2e/ea-ci-config.json @@ -1,24 +1,8 @@ { - "baseUrl": "https://e2e.dev.ozg-sh.de", - "env": { - "dbUrl": "mongodb+srv://pluto-database-user:XnHhfznNWg65NNd@pluto-database-svc.sh-e2e-dev.svc.cluster.local/admin?ssl=false", - "database": "pluto-database", - "keycloakRealm": "sh-e2e-dev", - "keycloakUrl": "https://sso.dev.ozg-sh.de/", - "keycloakClient": "sh-e2e-dev-goofy" - }, - "fileServerFolder": ".", - "fixturesFolder": "./src/fixtures", + "extends": "./cypress-ci.json", "integrationFolder": "./src/integration_einheitlicher-ansprechpartner", - "modifyObstructiveCode": false, - "pluginsFile": "./src/plugins/index", - "supportFile": "./src/support/index.ts", - "video": true, "videosFolder": "./reports/videos/einheitlicher-ansprechpartner", "screenshotsFolder": "./reports/screenshots/einheitlicher-ansprechpartner", - "chromeWebSecurity": false, - "reporter": "../../node_modules/cypress-mochawesome-reporter", - "defaultCommandTimeout": 10000, "reporterOptions": { "html": false, "json": true, diff --git a/goofy-client/apps/goofy-e2e/ea-config.json b/goofy-client/apps/goofy-e2e/ea-config.json new file mode 100644 index 0000000000..1c29cd35fe --- /dev/null +++ b/goofy-client/apps/goofy-e2e/ea-config.json @@ -0,0 +1,17 @@ +{ + "extends": "./cypress.json", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration_einheitlicher-ansprechpartner", + "pluginsFile": "./src/plugins/index", + "videosFolder": "./reports/videos/einheitlicher-ansprechpartner", + "screenshotsFolder": "./reports/screenshots/einheitlicher-ansprechpartner", + "reporter": "../../node_modules/cypress-mochawesome-reporter", + "reporterOptions": { + "html": false, + "json": true, + "quite": true, + "reportDir": "./reports/mochawesome-report", + "reportFilename": "report-einheitlicher-ansprechpartner", + "overwrite": false + } +} \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/plugins/index.js b/goofy-client/apps/goofy-e2e/src/plugins/index.js index 10fec50576..1c890b4704 100644 --- a/goofy-client/apps/goofy-e2e/src/plugins/index.js +++ b/goofy-client/apps/goofy-e2e/src/plugins/index.js @@ -42,6 +42,7 @@ module.exports = (on, config) => { return 0; } }); + return require('@bahmutov/cypress-extends')(config.configFile); }; function parseBinaryFileData(binaryFiles) { diff --git a/goofy-client/package-lock.json b/goofy-client/package-lock.json index fc17d380f1..44bc1f4438 100644 --- a/goofy-client/package-lock.json +++ b/goofy-client/package-lock.json @@ -1870,6 +1870,27 @@ "to-fast-properties": "^2.0.0" } }, + "@bahmutov/cypress-extends": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@bahmutov/cypress-extends/-/cypress-extends-1.1.0.tgz", + "integrity": "sha512-S8bF5GJ2X5b2DvlzhscCnY/a9e2fA0KgGjbYFqbENOisy2cjyZ9D7BWf7li0mw4FBAVnnsTMFza/9rhWStzD/g==", + "dev": true, + "requires": { + "debug": "4.1.1", + "deepmerge": "4.2.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", diff --git a/goofy-client/package.json b/goofy-client/package.json index 4e6dfe6126..ef945e8195 100644 --- a/goofy-client/package.json +++ b/goofy-client/package.json @@ -33,7 +33,8 @@ "dep-graph": "nx dep-graph", "help": "nx help", "favicon": "real-favicon generate favicon/faviconDescription.json favicon/faviconData.json src/favicon", - "cypress:open": "npx cypress open --project apps/goofy-e2e", + "cypress:open": "export CYPRESS_BASE_URL=http://localhost:4300 ; npx cypress open --project apps/goofy-e2e", + "cypress:open-ea": "export CYPRESS_BASE_URL=http://localhost:4300 ; npx cypress open --project apps/goofy-e2e --config-file ./ea-config.json", "cypress:run": "npx cypress run --project apps/goofy-e2e", "cypress:version": "npx cypress version", "cypress:merge-report": "mochawesome-merge apps/goofy-e2e/reports/mochawesome-report/**/*.json > apps/goofy-e2e/reports/report.json", @@ -41,8 +42,8 @@ "cypress:delete-old-reports": "node apps/goofy-e2e/src/support/delete-old-reports.ts", "cypress:pre-merge": "node apps/goofy-e2e/src/support/pre-merge.ts", "cypress:generate-report": "npm run cypress:merge-report ; npm run cypress:generate-html", - "cypress:ci-run": "npm run cypress:delete-old-reports ; npm run cypress:run -- --config-file ./cypress-ci.json ; test=$(echo \"$?\") ; npm run cypress:pre-merge ; npm run cypress:generate-report ; exit $test", - "cypress:ci-ea-run": "npm run cypress:delete-old-reports ; npm run cypress:run -- --config-file ./ea-ci-config.json ; test=$(echo \"$?\") ; npm run cypress:pre-merge ; npm run cypress:generate-report ; exit $test", + "cypress:ci-run": "export CYPRESS_BASE_URL=https://e2e.dev.ozg-sh.de ; npm run cypress:delete-old-reports ; npm run cypress:run -- --config-file ./cypress-ci.json ; test=$(echo \"$?\") ; npm run cypress:pre-merge ; npm run cypress:generate-report ; exit $test", + "cypress:ci-ea-run": "export CYPRESS_BASE_URL=$npm_config_BASE_URL ; npm run cypress:delete-old-reports ; npm run cypress:run -- --config-file ./ea-ci-config.json ; test=$(echo \"$?\") ; npm run cypress:pre-merge ; npm run cypress:generate-report ; exit $test", "workspace-generator": "nx workspace-generator", "sonar-scanner": "npm test -- --testResultsProcessor='jest-sonar-reporter' && sonar-scanner -Dsonar.host.url=https://sonarqube.ozg-sh.de/ -Dsonar.login=364c6e09430714838730a83f55d3369a7ffda0e9" }, @@ -86,6 +87,7 @@ "@angular/cli": "12.2.12", "@angular/compiler-cli": "12.2.12", "@angular/language-service": "12.2.12", + "@bahmutov/cypress-extends": "1.1.0", "@nrwl/cli": "13.1.3", "@nrwl/cypress": "13.1.3", "@nrwl/eslint-plugin-nx": "13.1.3", -- GitLab