diff --git a/alfa-client/apps/alfa-e2e/Jenkinsfile b/alfa-client/apps/alfa-e2e/Jenkinsfile index 3697c71a83a807795b9bad97660ab4189db84099..25e990e99f368c3190158c99c989134c04785f86 100644 --- a/alfa-client/apps/alfa-e2e/Jenkinsfile +++ b/alfa-client/apps/alfa-e2e/Jenkinsfile @@ -676,7 +676,7 @@ String generateCypressConfig(String bezeichner, String testFolder, Integer dbPor config.env.dbUrl = "mongodb://${decodeString(vorgangManagerDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String config.env.keycloakUrl = "https://${env.SSO_URL}/" as String config.env.keycloakRealm = namespace as String - config.env.sabineUuid = getKeycloakUuid(namespace, "sabine") as String + config.env += createUserIdsEnv(namespace, ["sabine", "dorothea", "emil", "peter"]) config.videosFolder = "./reports/${testFolder}/videos" as String config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String @@ -717,21 +717,43 @@ Map getUserManagerDatabaseSecret(String namespace) { return readJSON ( text: sh (script: "kubectl get secret ozg-mongodb-admin-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true)) } -String getKeycloakUuid(realm, userName) { - def shScript = """curl -H 'Content-Type: application/json' \ +Map createUserIdsEnv(realm, usernames) { + def env = [:] + def userIds = getUserIds(realm, usernames) + + echo "userIds: ${userIds}" + + for (username in usernames) { + if (userIds[username]) { + env[(username + "Uuid")] = userIds[username].id + env[(username + "InternalId")] = userIds[username].ozgCloudUserId + } else { + echo "user ${username} not found in Keycloak" + } + } + return env +} + +Map getUserIds(realm, usernames) { + def shScript = """curl -H 'Content-Type: application/json' \ -H 'Authorization: bearer ${getKeycloakAccessToken(realm)}' \ 'https://${env.SSO_URL}/admin/realms/${realm}/users' """ def users = readJSON text: sh(script: shScript, returnStdout: true) - echo "users: ${users}" - - for(user in users) { - if (user.username == userName) { - return user.id + echo "users: ${users}" + + return users + .findAll { it.username in usernames } + .collectEntries { + [ + (it.username): [ + "id" : it.id, + "ozgCloudUserId": it.attributes.ozgCloudUserId[0] + ] + ] } - } } String getKeycloakAccessToken(String realm) { diff --git a/alfa-client/apps/alfa-e2e/Jenkinsfile-static b/alfa-client/apps/alfa-e2e/Jenkinsfile-static index c430b502d88df0299fe473b8327651d2220fd14f..4265d7063dc3f37916dc5082317b389fa305607a 100644 --- a/alfa-client/apps/alfa-e2e/Jenkinsfile-static +++ b/alfa-client/apps/alfa-e2e/Jenkinsfile-static @@ -385,7 +385,7 @@ String generateCypressConfig(String bezeichner, String testFolder, Integer dbPor config.env.dbUrl = "mongodb://${decodeString(vorgangManagerDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String config.env.keycloakUrl = "https://${env.SSO_URL}/" as String config.env.keycloakRealm = namespace as String - config.env.sabineUuid = getKeycloakUuid(namespace, "sabine") as String + config.env += createUserIdsEnv(namespace, ["sabine", "dorothea", "emil", "peter"]) config.videosFolder = "./reports/${testFolder}/videos" as String config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String @@ -426,21 +426,43 @@ String makePasswordUrlConform(String password) { return sh (script: "printf %s ${password} | jq -sRr @uri", returnStdout: true); } -String getKeycloakUuid(realm, userName) { - def shScript = """curl -H 'Content-Type: application/json' \ +Map createUserIdsEnv(realm, usernames) { + def env = [:] + def userIds = getUserIds(realm, usernames) + + echo "userIds: ${userIds}" + + for (username in usernames) { + if (userIds[username]) { + env[(username + "Uuid")] = userIds[username].id + env[(username + "InternalId")] = userIds[username].ozgCloudUserId + } else { + echo "user ${username} not found in Keycloak" + } + } + return env +} + +Map getUserIds(realm, usernames) { + def shScript = """curl -H 'Content-Type: application/json' \ -H 'Authorization: bearer ${getKeycloakAccessToken(realm)}' \ 'https://${env.SSO_URL}/admin/realms/${realm}/users' """ def users = readJSON text: sh(script: shScript, returnStdout: true) - echo "users: ${users}" - - for(user in users) { - if (user.username == userName) { - return user.id + echo "users: ${users}" + + return users + .findAll { it.username in usernames } + .collectEntries { + [ + (it.username): [ + "id" : it.id, + "ozgCloudUserId": it.attributes.ozgCloudUserId[0] + ] + ] } - } } String getKeycloakAccessToken(String realm) { diff --git a/alfa-client/apps/alfa-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts b/alfa-client/apps/alfa-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts index 5a7f32959f5617b8ca4ac90f627ea3ad522608d6..13cefd098ae4abd5959c34e625cae8aab8723697 100644 --- a/alfa-client/apps/alfa-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts +++ b/alfa-client/apps/alfa-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts @@ -13,4 +13,13 @@ export default defineConfig({ return cypressEvents(on, config); }, }, + retries: { + experimentalStrategy: 'detect-flake-and-pass-on-threshold', + experimentalOptions: { + maxRetries: 2, + passesRequired: 2, + }, + openMode: true, + runMode: true, + }, }); diff --git a/alfa-client/apps/alfa-e2e/cypress-ci-main-tests.config.ts b/alfa-client/apps/alfa-e2e/cypress-ci-main-tests.config.ts index d9043ab28a3c940fecea5d6ac352768a32c3c3f3..9e90e297f1d80329dcd0020fb0763e61dff963ee 100644 --- a/alfa-client/apps/alfa-e2e/cypress-ci-main-tests.config.ts +++ b/alfa-client/apps/alfa-e2e/cypress-ci-main-tests.config.ts @@ -13,4 +13,13 @@ export default defineConfig({ return cypressEvents(on, config); }, }, + retries: { + experimentalStrategy: 'detect-flake-and-pass-on-threshold', + experimentalOptions: { + maxRetries: 2, + passesRequired: 2, + }, + openMode: true, + runMode: true, + }, }); diff --git a/alfa-client/apps/alfa-e2e/cypress.config.ts b/alfa-client/apps/alfa-e2e/cypress.config.ts index 7d9ec9779202900fc1effd4eec91b151d1d7c773..a39449b9c96551d36cfcc969df2c141bc07e12e7 100644 --- a/alfa-client/apps/alfa-e2e/cypress.config.ts +++ b/alfa-client/apps/alfa-e2e/cypress.config.ts @@ -12,4 +12,13 @@ export default defineConfig({ return cypressEvents(on, config); }, }, + retries: { + experimentalStrategy: 'detect-flake-and-pass-on-threshold', + experimentalOptions: { + maxRetries: 2, + passesRequired: 2, + }, + openMode: true, + runMode: true, + }, }); diff --git a/alfa-client/apps/alfa-e2e/docker-compose.yml b/alfa-client/apps/alfa-e2e/docker-compose.yml index b7ccbadf1906d9a05a34392b9adae9e03dead89a..1851483208aea463025a0c024edb3cd399b14590 100644 --- a/alfa-client/apps/alfa-e2e/docker-compose.yml +++ b/alfa-client/apps/alfa-e2e/docker-compose.yml @@ -46,6 +46,7 @@ services: - OZGCLOUD_USER-MANAGER_URL=http://localhost:9092 - SPRING_DATA_MONGODB_HOST=mongodb - SPRING_PROFILES_ACTIVE=${SPRING_PROFILE:-dev,e2e} + - LOGGING_CONFIG=classpath:log4j2-local.xml ports: - 9091:9090 depends_on: @@ -73,8 +74,12 @@ services: - OZGCLOUD_VORGANG_PROCESSOR_1_FORM_ID=Erstattung_FAIL - OZGCLOUD_VORGANG_PROCESSOR_NAMES_0=ticketCheck - SPRING_PROFILES_ACTIVE=remotekc, e2e + - LOGGING_CONFIG=classpath:log4j2-local.xml + - BPL_DEBUG_ENABLED=true + - BPL_DEBUG_PORT=5000 ports: - 8080:8080 + - 5000:5000 depends_on: - vorgang-manager - user-manager @@ -113,7 +118,6 @@ services: - OZGCLOUD_KEYCLOAK_API_PASSWORD= - OZGCLOUD_KEYCLOAK_API_REALM=${KEYCLOAK_REALM:-by-e2e-local-dev} - OZGCLOUD_KEYCLOAK_API_USER=usermanagerapiuser - - OZGCLOUD_KEYCLOAK_SYNC_CRON={OZGCLOUD_KEYCLOAK_SYNC_CRON:-disabled} - OZGCLOUD_USER_MANAGER_URL=http://localhost:9092 - OZGCLOUD_USERSYNC_PERIOD=disabled - QUARKUS_GRPC_SERVER_SSL_CERTIFICATE= @@ -128,6 +132,7 @@ services: - quarkus.log.category."io.quarkus.oidc.runtime.OidcProvider".min-level=TRACE ports: - 9092:8080 + - 9000:9000 depends_on: - mongodb diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forward-formular.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forward-formular.e2e.component.ts index 514810d105c3ed1f418c800147abab7b90cbd934..1c6c82292178ed8f63195747ebdc818719459338 100644 --- a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forward-formular.e2e.component.ts +++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forward-formular.e2e.component.ts @@ -25,8 +25,8 @@ export class ForwardFormularE2EComponent { private readonly locatorPasswortInput: string = 'Passwort-text-input'; private readonly locatorPasswortError: string = 'Passwort-text-error'; - private readonly locatorZustaendigeStelleInput: string = 'zuständige_Stelle-text-input'; - private readonly locatorZustaendigeStelleError: string = 'zuständige_Stelle-text-error'; + private readonly locatorZustaendigeStelleInput: string = 'zustandige_Stelle-text-input'; + private readonly locatorZustaendigeStelleError: string = 'zustandige_Stelle-text-error'; private readonly locatorForwardButton: string = 'forward-button'; private readonly locatorRoot: string = 'forward-form'; diff --git a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.cy.ts index 424cf110df29542fdadeb1f6ea937f4bb26a4941..78c0a67177065ee489819782514e477ced27ab1c 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.cy.ts @@ -32,7 +32,7 @@ import { VorgangPage } from '../../../page-objects/vorgang.po'; import { dropCollections } from '../../../support/cypress-helper'; import { contains, exist, haveText, notExist } from '../../../support/cypress.util'; -describe.skip('Vorgang abschliessen', () => { +describe('Vorgang abschliessen', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const snackBar: SnackBarE2EComponent = mainPage.getSnackBar(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-cy.ts index 5a8dafe1e2ae04ff484c20250d79ba89317ec287..c9524c7b552faa1a38cc2be05af36af1212c35ff 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-cy.ts @@ -32,7 +32,7 @@ import { FORWARDING_TEST_EMAIL } from '../../../support/data.util'; import { loginAsEmil } from '../../../support/user-util'; import { createVorgang, initVorgang } from '../../../support/vorgang-util'; -describe.skip('Vorgang forwarding failed', () => { +describe('Vorgang forwarding failed', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.cy.ts index e753289cf8df60048d4c9b95252634660b947490..2576383938c45747ad147b95813e713e76b6ecce 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.cy.ts @@ -32,7 +32,7 @@ import { enterWith, exist, notExist } from '../../../support/cypress.util'; import { UserRoleE2E, loginAsEmil } from '../../../support/user-util'; import { buildVorgang, createVorgang, initSearchIndex, initVorgaenge, objectIds } from '../../../support/vorgang-util'; -describe.skip('VorgangList Suche for EA User', () => { +describe('VorgangList Suche for EA User', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const header: HeaderE2EComponent = mainPage.getHeader(); @@ -46,7 +46,8 @@ describe.skip('VorgangList Suche for EA User', () => { const vorgangToDisappear: VorgangE2E = { ...buildVorgang(objectIds[1], 'VorgangToDisappear'), status: VorgangStatusE2E.NEU }; - describe(`on user with role ${UserRoleE2E.EINHEITLICHER_ANSPRECHPARTNER}`, () => { + // TODO initSearchIndex() needs to wait for ElastiSearch - unskip once OZG-4453 is implemented + describe.skip(`on user with role ${UserRoleE2E.EINHEITLICHER_ANSPRECHPARTNER}`, () => { const vorgangStayInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangToStay.name); const vorgangDisappearInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangToDisappear.name); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/hint/no-organisations-einheit-id.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/hint/no-organisations-einheit-id.cy.ts index d61f5200c82f5dcb3ab941403d8c7f4acb8555f4..4d6f23f6071087c579b04c58fce4fcf483655a93 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/hint/no-organisations-einheit-id.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/hint/no-organisations-einheit-id.cy.ts @@ -31,7 +31,7 @@ import { ORGANISATIONSEINHEITEN_ID_FOR_KFINDER, ORGANISATIONSEINHEITEN_ID_FOR_KO import { loginAsZonk } from '../../../support/user-util'; import { buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; -describe.skip('VorgangList', () => { +describe('VorgangList', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const hint: HintE2EComponent = mainPage.getHint(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/historie/historie.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/historie/historie.cy.ts index a028a4d67f1b36e6731da7eeb0b405e43eae42bb..55dc7090bbdb95a9a364f6ac1f2828ceeba7def6 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/historie/historie.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/historie/historie.cy.ts @@ -47,7 +47,7 @@ import { createVorgang, initVorgang } from '../../../support/vorgang-util'; registerLocaleData(localeDe, 'de', localeDeExtra); // TODO getUser*() funktionieren nicht länger -describe.skip('Historie', () => { +describe('Historie', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-connection-timout.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-connection-timeout.cy.ts similarity index 100% rename from alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-connection-timout.cy.ts rename to alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-connection-timeout.cy.ts diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-unauthorized.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-unauthorized.cy.ts index c1dd2f5a8d0f1992cd38bb2d425b72191d672923..94c0a7b9c33f9b272687fcb06467554ef841f7e8 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-unauthorized.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/interceptor/interceptor-unauthorized.cy.ts @@ -35,7 +35,7 @@ import { createVorgang, initVorgang } from '../../../support/vorgang-util'; //FIXME Stand 07.09 => Bei einem 401 wird in der aktuellen Implementierung zum Keycloak weitergeleitet. //Sofern das die richtige Implementierung ist, muss der Test angepasst werden, andernfalls die Implementierung -describe.skip('Interceptor unauthorized', () => { +describe('Interceptor unauthorized', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); @@ -73,22 +73,11 @@ describe.skip('Interceptor unauthorized', () => { waitOfInterceptor(interceptorResponseUnauthorized).then((interception) => { assert(interception.response.statusCode, statusCode.toString()); notExist(vorgangHeader.getRoot()); - exist(vorgangPage.getSpinner()); }) }) - it('should show vorgang detail on successfully reload ', () => { - waitForSpinnerToDisappear(); - - exist(vorgangHeader.getRoot()); - contains(vorgangHeader.getName(), vorgang.name); - }) - - it('should navigate back on back button', () => { - subnavigation.getBackButton().click(); - waitForSpinnerToDisappear(); - - exist(vorgangList.getRoot()); + it('should land on Keycloak login page', () => { + exist(cy.get('#kc-login')); }) }) }) \ No newline at end of file diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts index de74181108a5a71a674bffcbded8cf4780a4b362..a2969f248a5432e7c46e15da84aa5218e82871be 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts @@ -31,7 +31,7 @@ import { contains, exist, haveText, notExist } from '../../../support/cypress.ut import { getUserManagerUserEmil, getUserManagerUserPeter, getUserManagerUserSabine, getUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; import { createVorgang, initVorgang } from '../../../support/vorgang-util'; -describe.skip('Kommentar', () => { +describe('Kommentar', () => { const mainPage: MainPage = new MainPage(); const vorgangPage: VorgangPage = new VorgangPage(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts index 584fae2ba9be8ad93ed364f9c39fefcf4328f1d9..d3bca623600749c32d325d65dac97a084cb5ac84 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts @@ -9,7 +9,7 @@ import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main. import { VorgangPage } from '../../../page-objects/vorgang.po'; import { dropCollections } from '../../../support/cypress-helper'; import { contains, exist, haveText, notExist } from '../../../support/cypress.util'; -import { loginAsLudwig } from '../../../support/user-util'; +import { loginAsLudwig, loginAsSabine } from '../../../support/user-util'; import { createLoeschAnforderungAttachedItem, initVorgangAttachedItem } from '../../../support/vorgang-attached-item-util'; import { buildVorgang, initVorgang, objectIds } from '../../../support/vorgang-util'; @@ -105,14 +105,13 @@ describe('Vorgang endgültig löschen', () => { }) }) - // TODO Warum exakt derselbe Test nochmal, nur mit objectIds[2] anstelle objectIds[1]? - describe.skip('Endgültig Löschen (ludwig löscht den Vorgang für den die sabine die Löschanforderung gestellt hat)', () => { + describe('Endgültig Löschen (sabine löscht den Vorgang für den sabine die Löschanforderung gestellt hat)', () => { before(() => { initVorgang(vorgangZuLoeschen); - initVorgangAttachedItem([createLoeschAnforderungAttachedItem(objectIds[2], vorgangId)]); + initVorgangAttachedItem([createLoeschAnforderungAttachedItem(objectIds[1], vorgangId)]); - loginAsLudwig(); + loginAsSabine(); waitForSpinnerToDisappear(); exist(vorgangList.getRoot()); @@ -129,52 +128,8 @@ describe('Vorgang endgültig löschen', () => { haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangZuLoeschen.status]); }) - it('should show Endgültig Löschen Bestätigungsdialog', () => { - vorgangFormularButtons.getEndgueltigLoeschenButton().click(); - waitForSpinnerToDisappear(); - - exist(basicDialog.getHeader()); - }) - - it('should show header text in Bestätigungsdialog', () => { - contains(basicDialog.getHeader(), 'Möchten Sie den Vorgang endgültig löschen?'); - }) - - it('should show warning message in Bestätigungsdialog', () => { - contains(basicDialog.getMessage(), 'Diese Aktion kann nicht widerrufen werden.'); - }) - - it('should have confirmation button', () => { - exist(basicDialog.getConfirmationButton()); - }) - - it('should have cancel button', () => { - exist(basicDialog.getCancelButton()); - }) - - it('should cancel das Löschen', () => { - basicDialog.getCancelButton().click(); - vorgangPage.getSubnavigation().getBackButton().click(); - waitForSpinnerToDisappear(); - vorgangList.getListItem(vorgangZuLoeschen.name).getRoot().click(); - waitForSpinnerToDisappear(); - - exist(vorgangPage.getVorgangDetailHeader().getRoot()); - haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangZuLoeschen.status]); - }) - - it('should be redirected to vorgang list after endgültig löschen', () => { - vorgangFormularButtons.getEndgueltigLoeschenButton().click(); - - waitForSpinnerToDisappear(); - basicDialog.getConfirmationButton().click(); - waitForSpinnerToDisappear(); - - exist(vorgangList.getRoot()); - }) - - it('vorgang should not exist', () => { - notExist(vorgangList.getListItem(vorgangZuLoeschen.name).getRoot()); + it('should not show Endgültig Löschen button', () => { + notExist(vorgangFormularButtons.getEndgueltigLoeschenButton()); }) }) }); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/navigation/navigation.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/navigation/navigation.cy.ts index e10003b1657fdca6df52a8324006906ac9e6c541..476373c8c33da9b2819e2ab7bed4db7be6452d56 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/navigation/navigation.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/navigation/navigation.cy.ts @@ -34,7 +34,7 @@ import { enterWith, exist, haveText, notExist } from 'apps/alfa-e2e/src/support/ import { getUserManagerUserEmil, getUserManagerUserPeter, getUserManagerUserSabine, getUserSabineInternalId, initUsermanagerUsers, loginAsSabine } from 'apps/alfa-e2e/src/support/user-util'; import { buildVorgang, createVorgang, initSearchIndex, initVorgaenge, objectIds } from 'apps/alfa-e2e/src/support/vorgang-util'; -describe.skip('Navigation', () => { +describe('Navigation', () => { const mainPage: MainPage = new MainPage(); const header: HeaderE2EComponent = mainPage.getHeader(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.cy.ts index 7893c57577efbf5a566b00a5fde183a21badd6e5..2185d3220edbb9acfadcc9a20eab19db517882ff 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.cy.ts @@ -39,9 +39,10 @@ import { dropCollections, readFileFromDownloads } from '../../../support/cypress import { containClass, contains, exist, notBeVisible, notContainClass, notExist, visible } from '../../../support/cypress.util'; import { TEST_FILE_WITHOUT_CONTENT, TEST_FILE_WITH_CONTENT, TEST_FILE_WITH_CONTENT_4_MB } from '../../../support/data.util'; import { uploadEmptyFile, uploadFile } from '../../../support/file-upload'; -import { loginAsSabine } from '../../../support/user-util'; +import { getUserManagerUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; import { createPostfachNachrichtAttachedItem, createPostfachNachrichtReplyItem, initVorgangAttachedItem } from '../../../support/vorgang-attached-item-util'; import { buildVorgang, createHasNewPostfachNachrichtClientAttribute, createHasPostfachNachrichtClientAttribute, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; +import { expectIconWithBadge, expectIconWithoutBadge } from '../../../support/angular.util'; describe('PostfachMail', () => { const mainPage: MainPage = new MainPage(); @@ -79,6 +80,7 @@ describe('PostfachMail', () => { before(() => { initVorgaenge([vorgang, vorgangWithoutPostfach, vorgangWithReply]); initVorgangAttachedItem([postfachNachrichtAttachedItem]); + initUsermanagerUsers([getUserManagerUserSabine()]); loginAsSabine(); @@ -102,7 +104,7 @@ describe('PostfachMail', () => { it('should be visible and have a badge', () => { const postfachStatusIcon: HTMLElement = vorgangList.getListItem(vorgangWithReply.name).getPostfachIconMatIcon(); - containClass(postfachStatusIcon, 'mat-badge'); + expectIconWithBadge(postfachStatusIcon); }) }) @@ -506,9 +508,9 @@ describe('PostfachMail', () => { exist(vorgangList.getRoot()); }) - it.skip('should be visible and not have a badge', () => { + it('should be visible and not have a badge', () => { const postfachStatusIcon: HTMLElement = vorgangList.getListItem(vorgangWithReply.name).getPostfachIconMatIcon(); - notContainClass(postfachStatusIcon, 'mat-badge'); + expectIconWithoutBadge(postfachStatusIcon); }) }) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.cy.ts index 792a5e33d1b0a93609df64b046c4847dcb0a184e..50e569cf23e1d08d5106406998eecc1edeb3e8a2 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.cy.ts @@ -34,7 +34,7 @@ import { MessagesE2E } from '../../../support/messages'; import { loginAsKfinder, loginAsKordner } from '../../../support/user-util'; import { buildVorgang, createVorgang, initVorgaenge } from '../../../support/vorgang-util'; -describe.skip('PostfachNachrichten filtered by organisationseinheit', () => { +describe('PostfachNachrichten filtered by organisationseinheit', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.cy.ts index 05153b8529e387ca43221172094db000089f80c3..523f58d5b8e757a012bd74f70ff032b7c77786c9 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.cy.ts @@ -32,7 +32,7 @@ import { createPostfachUriByVorgangId } from 'apps/alfa-e2e/src/support/postfach import { UserRoleE2E, loginAsPeter } from 'apps/alfa-e2e/src/support/user-util'; import { buildVorgang, initVorgaenge } from 'apps/alfa-e2e/src/support/vorgang-util'; -describe.skip('Postfach Nachricht should be authorized by role', () => { +describe('Postfach Nachricht should be authorized by role', () => { const mainPage: MainPage = new MainPage(); const snackbar: SnackBarE2EComponent = mainPage.getSnackBar(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachrichten.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachrichten.cy.ts index 3a70a7e67bb41008838cae0140c303722bf6ac8a..da761e11d027585bfe566b673de10abef2dc3a1e 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachrichten.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/postfach-mail/postfach-nachrichten.cy.ts @@ -35,7 +35,7 @@ import { countDownloadFiles, deleteDownloadFolder, dropCollections, interceptWit import { exist, notExist } from '../../../support/cypress.util'; import { LinkRelE2E } from '../../../support/linkrels'; import { removeLinkFromResource } from '../../../support/tech.util'; -import { loginAsSabine } from '../../../support/user-util'; +import { getUserManagerUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; import { buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; @@ -54,6 +54,7 @@ describe('Postfach Nachrichten', () => { before(() => { initVorgaenge([vorgang, vorgangWithReply]); initVorgangAttachedItem([postfachNachrichtAttachedItem]); + initUsermanagerUsers([getUserManagerUserSabine()]); loginAsSabine(); @@ -99,13 +100,13 @@ describe('Postfach Nachrichten', () => { exist(postfachMailContainer.getDownloadButtonWithLabel()); }) - it.skip('should have 1 file in download folder after click on download', () => { + it('should have 1 file in download folder after click on download', () => { + deleteDownloadFolder(); postfachMailContainer.getDownloadButtonWithLabel().click(); waitForSpinnerToDisappear(); countDownloadFiles().then((count) => { expect(count).to.eq(1); - deleteDownloadFolder(); }); }) }) @@ -123,13 +124,13 @@ describe('Postfach Nachrichten', () => { exist(postfachMailPage.getDownloadButton()); }) - it.skip('should have 1 file in download folder after click on download', () => { + it('should have 1 file in download folder after click on download', () => { + deleteDownloadFolder(); postfachMailPage.getDownloadButton().click(); waitForSpinnerToDisappear(); countDownloadFiles().then((count) => { expect(count).to.eq(1); - deleteDownloadFolder(); }); }) }) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-current-user-icon.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-current-user-icon.cy.ts index 2bec8d5844d7658631e08b60e47a084f77b05646..cc7aa7d1541ce33faa348b3e375117dcf18a7709 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-current-user-icon.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-current-user-icon.cy.ts @@ -29,7 +29,7 @@ import { dropCollections } from 'apps/alfa-e2e/src/support/cypress-helper'; import { exist, haveText } from 'apps/alfa-e2e/src/support/cypress.util'; import { getUserManagerUserSabine, getUserSabine, initUsermanagerUsers, loginAsSabine } from 'apps/alfa-e2e/src/support/user-util'; -describe.skip('Current User Profile', () => { +describe('Current User Profile', () => { const mainPage: MainPage = new MainPage(); const header: HeaderE2EComponent = mainPage.getHeader(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts index daae4eceacc15588224c14da013481fbc2ab6a20..bcfddd084bc8ec429fd218c339ea26aa77f43241 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts @@ -166,9 +166,9 @@ describe('User Profile im ausgewählten Vorgang', () => { notExist(userProfileContainer.getSearchContainer().getError()); }) - it.skip('should show assign icon', { defaultCommandTimeout: 30000 }, () => { + it('should show assign icon', { defaultCommandTimeout: 30000 }, () => { waitForSpinnerToDisappear(); - // TODO Hier muss aufs Verarbeiten im Backend gewartet werden - oder: wait(500) + // WORKAROUND Hier muss aufs Verarbeiten im Backend gewartet werden - oder: wait(500) wait(500); exist(userProfileContainer.getIconContainer().getAssignedIcon()); haveText(userProfileContainer.getIconContainer().getAssignedIcon(), userDorothea.initials) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-kommentar-error.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-kommentar-error.cy.ts index 115d402bf21f2122ba24974497ea670de0b5dfd7..53ad50e9a9865b34446a4e42e70d5cafe45f2854 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-kommentar-error.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-kommentar-error.cy.ts @@ -31,7 +31,7 @@ import { VorgangPage } from '../../../page-objects/vorgang.po'; import { dropCollections, interceptWithResponse, scrollToWindowBottom, waitOfInterceptor } from '../../../support/cypress-helper'; import { exist, notExist } from '../../../support/cypress.util'; import { createKommentar } from '../../../support/kommentar.util'; -import { loginAsSabine } from '../../../support/user-util'; +import { getUserManagerUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; import { createVorgang, initVorgang } from '../../../support/vorgang-util'; // TODO Deaktiviert, weil die beiden Testfälle in user-profile-icon-in-postfach-nachricht-error.e2e-spec.ts abgedeckt sind. diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts index b1c17c24d31bc1da9e314af38ef66a3a81c44f1c..db92a54665aaea2a5821ac4704e0aabaffe14d9d 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts @@ -32,7 +32,7 @@ import { exist } from 'apps/alfa-e2e/src/support/cypress.util'; import { getUserManagerUserEmil, getUserManagerUserPeter, getUserManagerUserSabine, initUsermanagerUsers, loginAsSabine } from 'apps/alfa-e2e/src/support/user-util'; import { createVorgang, initVorgang } from 'apps/alfa-e2e/src/support/vorgang-util'; -describe.skip('User Settings', () => { +describe('User Settings', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const header: HeaderE2EComponent = mainPage.getHeader(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.cy.ts index 7ea89a07c1fea3eebdff6f8997f6d6fa3cb40730..8c004c5d6ef46f38349f24af6eddb415a74df4c7 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.cy.ts @@ -165,7 +165,7 @@ describe('Vorgang Detailansicht by role', () => { }) }) - describe.skip('for user with role ' + UserRoleE2E.VERWALTUNG_POSTSTELLE, () => { + describe('for user with role ' + UserRoleE2E.VERWALTUNG_POSTSTELLE, () => { before(() => { initVorgang(vorgang); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.cy.ts index 674fcce44dc791d37decdd374fbf94e1d5656728..33e9789c4614db7e2078b1ff36361b85186a4303 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.cy.ts @@ -32,12 +32,12 @@ import { VorgangE2E } from '../../../model/vorgang'; import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po'; import { VorgangPage } from '../../../page-objects/vorgang.po'; import { dropCollections } from '../../../support/cypress-helper'; -import { loginAsSabine } from '../../../support/user-util'; +import { getUserManagerUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; import { buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; registerLocaleData(localeDe, 'de', localeDeExtra); -describe('Vorgang Detailansicht with formData', () => { +describe.skip('Vorgang Detailansicht with formData', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); @@ -111,6 +111,7 @@ describe('Vorgang Detailansicht with formData', () => { }) + // SKIP: Metadaten sind aktuell aus describe('click on "Metadaten" tab', () => { it.skip('should show on click on tab', () => { @@ -138,7 +139,7 @@ describe('Vorgang Detailansicht with formData', () => { describe('click on vorgang in list', () => { - it.skip('should show header', () => { + it('should show header', () => { vorgangList.getListItem(vorgangWithLabels.name).getRoot().click(); waitForSpinnerToDisappear(); @@ -146,7 +147,7 @@ describe('Vorgang Detailansicht with formData', () => { }) }) - describe.skip('click on "Antragsdaten" tab', () => { + describe('click on "Antragsdaten" tab', () => { it('should show on click on tab', () => { vorgangDatenFormular.getAntragdatenTab().click(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.cy.ts index 6f4a7682050ea730b7285e9b7cd96f85d3070754..2fd4051fdb7479cfcf651a2a856e7f12cbb292c8 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.cy.ts @@ -31,7 +31,7 @@ import { UserRoleE2E, loginAsPeter } from 'apps/alfa-e2e/src/support/user-util'; import { buildVorgang, createVorgangUriById, initVorgaenge } from 'apps/alfa-e2e/src/support/vorgang-util'; import { dropCollections, visitUrl } from '../../../support/cypress-helper'; -describe.skip('Vorgang Detailansicht should be authorized by role', () => { +describe('Vorgang Detailansicht should be authorized by role', () => { const mainPage: MainPage = new MainPage(); const snackbar: SnackBarE2EComponent = mainPage.getSnackBar(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts index fabb8263a0f0c5989c7052ccb1cf516bb5cffdbe..79981f16fff506a270cbd3d75966eb206654e7b3 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts @@ -89,7 +89,7 @@ describe('Vorgang Detailansicht', () => { haveText(vorgangHeader.getCreatedAt(), formatDate(vorgang.createdAt.$date, 'EEEE, dd. MMMM y, HH:mm', 'de')); }) - it.skip('should have header data after reload', () => { + it('should have header data after reload', () => { reload(); exist(vorgangHeader.getRoot()); @@ -101,6 +101,7 @@ describe('Vorgang Detailansicht', () => { }) }) + // SKIP: Metada sind aktuell disabled describe.skip('metadaten in tab', () => { it('should show on click on tab', () => { diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.cy.ts index c5c660ee237874210b86a4878c63ab2b6b7f40df..a92cb1664127afe5f80fb417cc6965e51d866c28 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.cy.ts @@ -35,7 +35,7 @@ import { buildVorgang, createVorgang, createVorgangUriById, initVorgaenge } from const defaultCommandTimeout: number = 30000; -describe.skip('Vorgang-detailansicht filtered by organisationseinheit', () => { +describe('Vorgang-detailansicht filtered by organisationseinheit', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const detailPage: VorgangDetailHeaderE2EComponent = new VorgangDetailHeaderE2EComponent(); @@ -137,7 +137,7 @@ describe.skip('Vorgang-detailansicht filtered by organisationseinheit', () => { }) }) - describe.skip('on user zonk', () => { + describe('on user zonk', () => { const authorizedUrl: string = vorgangUrlVisibleToKOrdner; const forbiddenUrl: string = vorgangUrlVisibleToKFinder; diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-exportieren.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-exportieren.cy.ts index f4cfee423f38d96766282ed65d2534865adeca01..a44900080e54cc8fb2d00a1f6d835be689bf34ec 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-exportieren.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-exportieren.cy.ts @@ -83,17 +83,17 @@ describe('Vorgang exportieren', () => { exist(menuItem.getButton()); }) - it.skip('should have 1 file in download folder after download', () => { + it('should have 1 file in download folder after download', () => { + deleteDownloadFolder(); menuItem.getButton().click(); waitForSpinnerToDisappear(); countDownloadFiles().then((count) => { expect(count).to.eq(1); - deleteDownloadFolder(); }); }) - it.skip('should close menu after download', () => { + it('should close menu after download', () => { notExist(menuItem.getRoot()); }) }) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.cy.ts index 79932aec0ba971c9889fd50e81f15fcd32cbb427..047f3d25ffd65fe372f7fc0f7142abab5ed0ee21 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.cy.ts @@ -79,7 +79,7 @@ describe('Vorgang Zurueckstellen', () => { haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangZurueckstellen.status]); }) - it.skip('should have assigned user(Bearbeiter)', () => { + it('should have assigned user(Bearbeiter)', () => { exist(userContainer.getRoot()); exist(userContainer.getIconContainer().getAssignedIcon()); }) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.cy.ts index e6fcead0251b0b96dd5ef9c881c2c5def9776326..83ee455a4eb20372ccbf4735de1bcc75a238f07b 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.cy.ts @@ -55,7 +55,7 @@ describe('VorgangList Wiedervorlagen Next Frist', () => { }; const vorgangWithWiedervorlageInThePast: VorgangE2E = { - ...buildVorgang(objectIds[2], 'FristInTheFuture'), + ...buildVorgang(objectIds[2], 'FristInThePast'), clientAttributes: createAlfaClientAttributes(ClientAttributeNameE2E.NEXT_WIEDERVORLAGE_FRIST, createNextWiedervorlageFristClientAttribute(createDateInThePast())) }; const wiedervorlageFristInThePast: VorgangAttachedItemE2E = { @@ -97,25 +97,19 @@ describe('VorgangList Wiedervorlagen Next Frist', () => { }) }) - describe.skip('OZG-1522 FIXME(Und um "Heute" erweitern) on vorgang with existing wiedervorlagen', () => { + describe('on vorgang with existing wiedervorlagen', () => { it('should show next frist in future and list', () => { const vorgang: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangWithWiedervorlageInFuture.name); - notContainClass(vorgang.getWiedervorlageNextFrist(), 'red'); - - mouseEnter(vorgang.getWiedervorlageNextFrist()); + notContainClass(vorgang.getWiedervorlageNextFrist(), 'red'); exist(vorgang.getWiedervorlageNextFrist()); - - vorgang.getWiedervorlageNextFrist().trigger('mouseleave'); // fix for next test }) it('should show next frist in the past and list', () => { const vorgang: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangWithWiedervorlageInThePast.name); - containClass(vorgang.getWiedervorlageNextFrist(), 'red'); - - mouseEnter(vorgang.getWiedervorlageNextFrist()); + containClass(vorgang.getWiedervorlageNextFrist(), 'red'); exist(vorgang.getWiedervorlageNextFrist()); }) }) diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pages.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pages.cy.ts index 803b8823bd5c06c0dc65a4a31c1e12c7a70ca63f..d01a77c315ba196c6c5392b93016066211ff9808 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pages.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pages.cy.ts @@ -139,7 +139,7 @@ describe('VorgangList Pages', () => { } }) - describe.skip('with MeineVorgaenge Filter', () => { + describe('with MeineVorgaenge Filter', () => { describe('1 page (NEU ASSIGNED)', () => { diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts index c9c6ca05c2204a94a662fb33632132c92acaf01a..ca9ed1364d607869f97ce1b916547aed1c99069a 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts @@ -141,7 +141,7 @@ describe('VorgangList View Pages', () => { } }) - describe.skip('Meine Vorgänge filter', () => { + describe('Meine Vorgänge filter', () => { describe('page 1', () => { @@ -303,7 +303,7 @@ describe('VorgangList View Pages', () => { } }) - describe.skip('Meine Vorgänge filter', () => { + describe('Meine Vorgänge filter', () => { describe('page 1', () => { @@ -465,7 +465,7 @@ describe('VorgangList View Pages', () => { } }) - describe.skip('Meine Vorgänge filter', () => { + describe('Meine Vorgänge filter', () => { describe('page 1', () => { @@ -627,7 +627,7 @@ describe('VorgangList View Pages', () => { } }) - describe.skip('Meine Vorgänge filter', () => { + describe('Meine Vorgänge filter', () => { describe('page 1', () => { @@ -789,7 +789,7 @@ describe('VorgangList View Pages', () => { } }) - describe.skip('Meine Vorgänge filter', () => { + describe('Meine Vorgänge filter', () => { describe('page 1', () => { @@ -951,7 +951,7 @@ describe('VorgangList View Pages', () => { } }) - describe.skip('Meine Vorgänge filter', () => { + describe('Meine Vorgänge filter', () => { describe('page 1', () => { diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.cy.ts index 640b781a2a8da67d60890e4e368f0c6451c2d83d..9a8dc836b7940c4134c9426d906265025b3c9a8d 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.cy.ts @@ -30,7 +30,7 @@ import { ORGANISATIONSEINHEITEN_ID_FOR_KFINDER, ORGANISATIONSEINHEITEN_ID_FOR_KO import { loginAsKfinder, loginAsKordner, loginAsRichard, loginAsZonk } from '../../../support/user-util'; import { buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; -describe.skip('VorgangList', () => { +describe('VorgangList', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts index 2a2e0aaa090096924045ec43d93583948560bd23..ebabefff3c2b4a35258e3059b93d48760f050dbb 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts @@ -30,12 +30,13 @@ import { UserE2E } from 'apps/alfa-e2e/src/model/user'; import { EingangE2E, VorgangE2E, VorgangStatusE2E } from 'apps/alfa-e2e/src/model/vorgang'; import { HeaderE2EComponent } from 'apps/alfa-e2e/src/page-objects/header.po'; import { VorgangPage } from 'apps/alfa-e2e/src/page-objects/vorgang.po'; -import { dropCollections, dropSearchIndex } from 'apps/alfa-e2e/src/support/cypress-helper'; +import { dropCollections, dropSearchIndex, wait } from 'apps/alfa-e2e/src/support/cypress-helper'; import { AntragstellerE2ETestData, EingangE2ETestData, EingangHeaderE2ETestData, buildVorgang, createVorgang, initSearchIndex, initVorgaenge, objectIds } from 'apps/alfa-e2e/src/support/vorgang-util'; import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po'; import { backspaceOn, enterWith, exist, haveText, haveValue, notExist } from '../../../support/cypress.util'; import { UserRoleE2E, getUserManagerUserSabine, getUserSabine, getUserSabineInternalId, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util'; +// TODO initSearchIndex() needs to wait for ElastiSearch - unskip once OZG-4453 is implemented describe.skip('VorgangList Suche', () => { const mainPage: MainPage = new MainPage(); @@ -112,7 +113,7 @@ describe.skip('VorgangList Suche', () => { }) - describe ('Search with hyphen', () => { + describe('Search with hyphen', () => { it ('should find entry with hyphen', () => { doSearchWith('Vorgang-mit'); waitForSpinnerToDisappear(); @@ -121,7 +122,7 @@ describe.skip('VorgangList Suche', () => { notExist(vorgangWOHyphenInList.getRoot()); }) - it ('should find entry without hyphen', () => { + it.skip('(should find with hyphen when query without hyphen) should find entry without hyphen', () => { doSearchWith('Vorgang mit'); waitForSpinnerToDisappear(); @@ -217,7 +218,6 @@ describe.skip('VorgangList Suche', () => { it('should navigate back to list', () => { vorgangPage.getSubnavigation().getBackButton().click(); - exist(vorgangPage.getSpinner()); waitForSpinnerToDisappear(); exist(vorgangList.getRoot()); @@ -334,11 +334,12 @@ describe.skip('VorgangList Suche', () => { }) }) - describe.skip('clear preview list on less than 3 character', () => { + describe.skip('(Wird in OZG-4711 gefixt) clear preview list on less than 3 character', () => { it('should hide preview list', () => { vorgangSearch.getInput().clear().type(vorgangName.substring(0, 3), { delay: 220 }); + exist(vorgangSearch.getVorgangSearchPreviewList()); exist(previewListItemVorgang.getRoot()); exist(previewListItemVorgangOther.getRoot()); @@ -347,6 +348,16 @@ describe.skip('VorgangList Suche', () => { notExist(vorgangSearch.getVorgangSearchPreviewList()); }) }) + + describe('navigate back to vorgang list', () => { + + it('should navigate to vorgang list', () => { + vorgangPage.getSubnavigation().getBackButton().click(); + + exist(vorgangList.getRoot()); + }) + + }) }) describe('filter by all possible fields', () => { @@ -464,7 +475,7 @@ describe.skip('VorgangList Suche', () => { notExist(byRequestId.getRoot()); }) - it('should show result by vorgangnummer', () => { + it.skip('(Wird in OZG-4711 gefixt) should show result by vorgangnummer', () => { doSearchWith(vorgangNummerToMatch); waitForSpinnerToDisappear(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.cy.ts index 5c1ae2fe6e632d20396aaf39a5956ea298b346c8..86c94c4871f7c7dbe4cb7c2dea506d70d3653879 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.cy.ts @@ -17,7 +17,7 @@ import { Interception } from 'cypress/types/net-stubbing'; registerLocaleData(localeDe, 'de', localeDeExtra); -describe.skip('VorgangList View Wiedervorlagen', () => { +describe('VorgangList View Wiedervorlagen', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts index 2e9d985847e614d0ac2510ead9bae24776361d39..1d6b3a557cf6418ddf22a0704bee8529e38567e6 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts @@ -18,7 +18,7 @@ import { buildVorgang, createAlfaClientAttributes, createNextWiedervorlageFristC registerLocaleData(localeDe, 'de', localeDeExtra); -describe.skip('Vorgang views and filter', () => { +describe('Vorgang views and filter', () => { const mainPage: MainPage = new MainPage(); const header: HeaderE2EComponent = mainPage.getHeader(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts index 7e5e973f7746cc760f882208cb3dfccb2635b038..cf9423807780c8666f230ed655eec8f8ee86d541 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts @@ -42,7 +42,7 @@ import { loginAsSabine } from '../../../support/user-util'; import { createVorgang, initVorgang, objectIds } from '../../../support/vorgang-util'; import { createWiedervorlageAttachedItem, createWiedervorlageItem } from '../../../support/wiedervorlage-util'; -describe('Wiedervorlage attachments', () => { +describe.skip('Wiedervorlage attachments', () => { const mainPage: MainPage = new MainPage(); const snackBar: SnackBarE2EComponent = mainPage.getSnackBar(); @@ -153,21 +153,21 @@ describe('Wiedervorlage attachments', () => { notExist(snackbar.getMessage()); }) - it.skip('should show attachments on wiedervorlage in vorgang-detail after save ', () => { + it('should show attachments on wiedervorlage in vorgang-detail after save ', () => { wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF).expandItem(); exist(wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF).getAttachmentContainer().getList().getItem(TEST_FILE_WITHOUT_CONTENT).getRoot()); exist(wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF).getAttachmentContainer().getList().getItem(TEST_FILE_WITH_CONTENT).getRoot()); }) - it.skip('should download empty attachment on click in list', () => { + it('should download empty attachment on click in list', () => { wiedervorlageContainerInVorgang.getWiedervorlage(wiedervorlage.betreff).getAttachmentContainer().getList().getItem(TEST_FILE_WITHOUT_CONTENT).getDownloadButton().click(); waitForSpinnerToDisappear(); exist(readFileFromDownloads(TEST_FILE_WITHOUT_CONTENT)); }) - it.skip('should download attachment on click in list', () => { + it('should download attachment on click in list', () => { wiedervorlageContainerInVorgang.getWiedervorlage(wiedervorlage.betreff).getAttachmentContainer().getList().getItem(TEST_FILE_WITH_CONTENT).getDownloadButton().click(); waitForSpinnerToDisappear(); @@ -175,7 +175,7 @@ describe('Wiedervorlage attachments', () => { }) }) - describe.skip('Delete attachment', () => { + describe('Delete attachment', () => { const wiedervorlageComp: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF); @@ -203,7 +203,7 @@ describe('Wiedervorlage attachments', () => { snackbar.getCloseButton().click(); }) - it('check attachments in wiedervorlage list', () => { + it('(Skip reason in OZG-4658) check attachments in wiedervorlage list', () => { waitForSpinnerToDisappear(); wiedervorlageComp.getExpandButton(); @@ -214,7 +214,7 @@ describe('Wiedervorlage attachments', () => { }) }) - describe.skip('switch to wiedervorlage without attachments', () => { + describe('switch to wiedervorlage without attachments', () => { const wiedervorlageComp: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(wiedervorlage.betreff); @@ -229,7 +229,7 @@ describe('Wiedervorlage attachments', () => { }) }) - describe.skip('Same number of attachments after status change', () => { + describe('Same number of attachments after status change', () => { const wiedervorlageComp: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF); it('should open wiedervorlage page', () => { @@ -278,7 +278,7 @@ describe('Wiedervorlage attachments', () => { }) }) - describe.skip('delete last attachment', () => { + describe('delete last attachment', () => { it('should remove on delete', () => { attachmentList.getItem(TEST_FILE_WITH_CONTENT).getDeleteButton().click(); @@ -301,7 +301,7 @@ describe('Wiedervorlage attachments', () => { notExist(snackBar.getMessage()); }) - it('should have no attachments after save', () => { + it('(Skip reason in OZG-4658) should have no attachments after save', () => { const wiedervorlageComp: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF); wiedervorlageComp.getExpandButton(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.cy.ts index 7c08f809f8ca1ebfb9510ada27726918edc162db..ce0680540b139282bcca03c02b0d71a292005a5b 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.cy.ts @@ -34,7 +34,7 @@ import { buildVorgang, initVorgaenge } from 'apps/alfa-e2e/src/support/vorgang-u import { createWiedervorlageNeuUriByVorgangId } from 'apps/alfa-e2e/src/support/wiedervorlage-util'; import { dropCollections } from '../../../support/cypress-helper'; -describe.skip('Wiedervorlage should be authorized by role', () => { +describe('Wiedervorlage should be authorized by role', () => { const mainPage: MainPage = new MainPage(); const snackbar: SnackBarE2EComponent = mainPage.getSnackBar(); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts index 68307b52fc0233d10710d8ab445fbf2c90a553bd..5d06e09d19edd83df89c4f874f39c6c091b8bfcb 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts @@ -42,14 +42,14 @@ import { createVorgang, initVorgaenge } from '../../../support/vorgang-util'; registerLocaleData(localeDe, 'de', localeDeExtra); -describe('Wiedervorlage', () => { +describe.skip('Wiedervorlage', () => { const mainPage: MainPage = new MainPage(); const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList(); const snackbar: SnackBarE2EComponent = mainPage.getSnackBar(); const vorgangPage: VorgangPage = new VorgangPage(); const wiedervorlagePage: WiedervorlagePage = new WiedervorlagePage(); - const wiedervorlageCotainer: WiedervorlageE2EComponent = wiedervorlagePage.getWiedervorlageContainer(); + const wiedervorlageContainer: WiedervorlageE2EComponent = wiedervorlagePage.getWiedervorlageContainer(); const vorgang: VorgangE2E = createVorgang(); @@ -91,39 +91,39 @@ describe('Wiedervorlage', () => { }) it('should show validation error if betreff is to short', () => { - wiedervorlageCotainer.getBetreff().clear().type('Ab'); + wiedervorlageContainer.getBetreff().clear().type('Ab'); - wiedervorlageCotainer.getSpeichernButton().click(); + wiedervorlageContainer.getSpeichernButton().click(); waitForSpinnerToDisappear(); - exist(wiedervorlageCotainer.getBetreffError()); + exist(wiedervorlageContainer.getBetreffError()); }) it('should show validation error if betreff is to long', () => { - wiedervorlageCotainer.getBetreff().clear().type(faker.random.alphaNumeric(41)); + wiedervorlageContainer.getBetreff().clear().type(faker.random.alphaNumeric(41)); - wiedervorlageCotainer.getSpeichernButton().click(); + wiedervorlageContainer.getSpeichernButton().click(); waitForSpinnerToDisappear(); - exist(wiedervorlageCotainer.getBetreffError()); + exist(wiedervorlageContainer.getBetreffError()); }) it('should show validation error on invalid frist', () => { - wiedervorlageCotainer.getBeschreibung().clear().type('Dies ist ein Test'); - wiedervorlageCotainer.getFrist().clear().type('1.1.2020'); + wiedervorlageContainer.getBeschreibung().clear().type('Dies ist ein Test'); + wiedervorlageContainer.getFrist().clear().type('1.1.2020'); - wiedervorlageCotainer.getSpeichernButton().click(); + wiedervorlageContainer.getSpeichernButton().click(); waitForSpinnerToDisappear(); - exist(wiedervorlageCotainer.getDatumError()); + exist(wiedervorlageContainer.getDatumError()); }) it('should show snackbar on valid data', () => { - wiedervorlageCotainer.getBetreff().clear().type(wiedervorlageBetreff); - wiedervorlageCotainer.getBeschreibung().clear().type(wiedervorlageBeschreibung); - wiedervorlageCotainer.getFrist().clear().type(wiedervorlageFrist); + wiedervorlageContainer.getBetreff().clear().type(wiedervorlageBetreff); + wiedervorlageContainer.getBeschreibung().clear().type(wiedervorlageBeschreibung); + wiedervorlageContainer.getFrist().clear().type(wiedervorlageFrist); - wiedervorlageCotainer.getSpeichernButton().click(); + wiedervorlageContainer.getSpeichernButton().click(); waitForSpinnerToDisappear(); exist(snackbar.getMessage()); @@ -173,17 +173,17 @@ describe('Wiedervorlage', () => { }) it('should have input values', () => { - haveValue(wiedervorlageCotainer.getBeschreibung(), wiedervorlageBeschreibung); - haveValue(wiedervorlageCotainer.getBetreff(), wiedervorlageBetreff); - haveValue(wiedervorlageCotainer.getFrist(), wiedervorlageFrist); + haveValue(wiedervorlageContainer.getBeschreibung(), wiedervorlageBeschreibung); + haveValue(wiedervorlageContainer.getBetreff(), wiedervorlageBetreff); + haveValue(wiedervorlageContainer.getFrist(), wiedervorlageFrist); }) it('should show snackbar on valid data', () => { - wiedervorlageCotainer.getBetreff().clear().type('Editierter Betreff'); - wiedervorlageCotainer.getBeschreibung().clear().type('Diese Wiedervorlage wurde bearbeitet'); - wiedervorlageCotainer.getFrist().clear().type(formatDateLocal(new Date(), 'dd.MM.yyyy')); + wiedervorlageContainer.getBetreff().clear().type('Editierter Betreff'); + wiedervorlageContainer.getBeschreibung().clear().type('Diese Wiedervorlage wurde bearbeitet'); + wiedervorlageContainer.getFrist().clear().type(formatDateLocal(new Date(), 'dd.MM.yyyy')); - wiedervorlageCotainer.getSpeichernButton().click(); + wiedervorlageContainer.getSpeichernButton().click(); waitForSpinnerToDisappear(); exist(snackbar.getMessage()); @@ -216,7 +216,7 @@ describe('Wiedervorlage', () => { }) }) - describe.skip('OZG-3070 remove beschreibung from wiedervoralge', () => { + describe('remove beschreibung from wiedervorlage', () => { it('should open Wiedervorlage-Page by click on wiedervorlage ', () => { const wiedervorlageInVorgang: WiedervorlageInVorgangE2EComponent = vorgangPage.getWiedervorlagenContainer().getWiedervorlage('Editierter Betreff'); @@ -228,13 +228,13 @@ describe('Wiedervorlage', () => { }) it('should have beschreibung', () => { - haveValue(wiedervorlageCotainer.getBeschreibung(), 'Diese Wiedervorlage wurde bearbeitet'); + haveValue(wiedervorlageContainer.getBeschreibung(), 'Diese Wiedervorlage wurde bearbeitet'); }) it('should show snackbar after clear beschreibung', () => { - wiedervorlageCotainer.getBeschreibung().clear(); + wiedervorlageContainer.getBeschreibung().clear(); - wiedervorlageCotainer.getSpeichernButton().click(); + wiedervorlageContainer.getSpeichernButton().click(); waitForSpinnerToDisappear(); exist(snackbar.getMessage()); @@ -251,8 +251,8 @@ describe('Wiedervorlage', () => { exist(vorgangPage.getVorgangDetailHeader().getRoot()); }) - it('should navigate to formular', () => { - const wiedervorlageInVorgang: WiedervorlageInVorgangE2EComponent = vorgangPage.getWiedervorlagenContainer().getWiedervorlage(wiedervorlageBetreff); + it('should navigate to Wiedervorlage formular', () => { + const wiedervorlageInVorgang: WiedervorlageInVorgangE2EComponent = vorgangPage.getWiedervorlagenContainer().getWiedervorlage('Editierter Betreff'); wiedervorlageInVorgang.getLink().click(); waitForSpinnerToDisappear(); @@ -261,9 +261,7 @@ describe('Wiedervorlage', () => { }) it('should show empty beschreibung', () => { - wiedervorlageCotainer.getBeschreibung().clear().type('Editierter Betreff'); - - haveText(wiedervorlageCotainer.getBeschreibung(), ''); + haveText(wiedervorlageContainer.getBeschreibung(), ''); }) }) }); diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts index 25597cdc6b4612e418c46ae484fcb31e757dd797..48c570bda248ba29ef5174330db802a0deb81ded 100644 --- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts +++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts @@ -41,7 +41,7 @@ import { loginAsSabine } from '../../../support/user-util'; import { createVorgang, initVorgang, objectIds } from '../../../support/vorgang-util'; import { createWiedervorlageAttachedItem, createWiedervorlageItem } from '../../../support/wiedervorlage-util'; -describe.skip('Wiedervorlage erledigen/wiedereroeffnen', () => { +describe('Wiedervorlage erledigen/wiedereroeffnen', () => { const mainPage: MainPage = new MainPage(); const views: VorgangViewsE2EComponent = mainPage.getViews(); @@ -258,7 +258,7 @@ describe.skip('Wiedervorlage erledigen/wiedereroeffnen', () => { }) //Test an die richtige Stelle verschieben und den Test vereinfachen - describe.skip('View item icon', () => { + describe('View item icon', () => { const wiedervorlage: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(wiedervorlageZumWiedereroeffnen.betreff); const locatorIconIsOverdue: string = 'wiedervorlage-icon-is-overdue'; diff --git a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_dorothea.json b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_dorothea.json index 6ad874e58bcfbc5fd1bca051a9c9ac9c15c4ccf3..95d65b192d7e021e286a0d09198c1d5833f26d9d 100644 --- a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_dorothea.json +++ b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_dorothea.json @@ -6,7 +6,7 @@ "$date": "2021-12-20T11:17:56.489Z" }, "deleted": false, - "externalId": "b5f84a21-cf2f-4d68-8717-f6f188d07201", + "keycloakUserId": "b5f84a21-cf2f-4d68-8717-f6f188d07201", "firstName": "Dorothea", "fullName": "Dorothea Doe", "lastName": "Doe", diff --git a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_emil.json b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_emil.json index 7457bc3c97040afdbc7ea9d249e6312f18d90a86..069045234bdabbeb80080e2301beab46958c10e1 100644 --- a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_emil.json +++ b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_emil.json @@ -6,7 +6,7 @@ "$date": "2022-08-25T08:29:45.025Z" }, "deleted": false, - "externalId": "108ee867-7290-466d-813f-ab1dc95d3691", + "keycloakUserId": "108ee867-7290-466d-813f-ab1dc95d3691", "firstName": "Emil", "fullName": "Emil Ansprechpartner", "lastName": "Ansprechpartner", diff --git a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_peter.json b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_peter.json index 9a68d870b86f85084f5579a8691a2e1e12fd4db1..540acf41530c21b619ffa8e2761a3c8b31ecad3a 100644 --- a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_peter.json +++ b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_peter.json @@ -6,7 +6,7 @@ "$date": "2022-02-18T09:21:24.340Z" }, "deleted": false, - "externalId": "63d42f8f-303b-4560-9b11-e9211b0ae87e", + "keycloakUserId": "63d42f8f-303b-4560-9b11-e9211b0ae87e", "firstName": "Peter", "fullName": "Peter von der Post", "lastName": "von der Post", diff --git a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_sabine.json b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_sabine.json index 5988c714d2a7374fefd4004b97a247a6b3a522dc..05cacad8008bf0ddd6e7daccbe4ee94008912baf 100644 --- a/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_sabine.json +++ b/alfa-client/apps/alfa-e2e/src/fixtures/usermanager/usermanager_user_sabine.json @@ -7,7 +7,7 @@ }, "deleted": false, "email": "susanne.fischer.dataport+sabine@gmail.com", - "externalId": "2ccf0c13-da74-4516-ae3d-f46d30e8ec0c", + "keycloakUserId": "2ccf0c13-da74-4516-ae3d-f46d30e8ec0c", "firstName": "Sabine", "fullName": "Sabine Sach", "lastName": "Sach", diff --git a/alfa-client/apps/alfa-e2e/src/model/usermanager.ts b/alfa-client/apps/alfa-e2e/src/model/usermanager.ts index 3d54adbaef1b2c73b4f20a507be06303e9bc8a3f..8effc31da1e11440a9fb74481f256f50b7a2c966 100644 --- a/alfa-client/apps/alfa-e2e/src/model/usermanager.ts +++ b/alfa-client/apps/alfa-e2e/src/model/usermanager.ts @@ -27,7 +27,7 @@ export interface UsermanagerUserE2E { _id: ObjectIdE2E; createdAt: DateE2E; deleted: boolean; - externalId: string; + keycloakUserId: string; firstName: string; lastName: string; fullName: string; diff --git a/alfa-client/apps/alfa-e2e/src/support/angular.util.ts b/alfa-client/apps/alfa-e2e/src/support/angular.util.ts index 27c4f58ca783429f3ead8a3ba2eb0d4a7fa062f9..62fff78dbf333e590f749cf0f51524b60e6fafc9 100644 --- a/alfa-client/apps/alfa-e2e/src/support/angular.util.ts +++ b/alfa-client/apps/alfa-e2e/src/support/angular.util.ts @@ -29,7 +29,8 @@ enum AngularClassesE2E { MAT_CHECKED = 'mat-mdc-slide-toggle-checked', MAT_BUTTONG_TOGGLE_CHECKED = 'mat-button-toggle-checked', MAT_FOCUSED = 'mat-focused', - CDK_KEYBOARD_FOCUSED = 'cdk-keyboard-focused' + CDK_KEYBOARD_FOCUSED = 'cdk-keyboard-focused', + MAT_BADGE_HIDDEN = 'mat-badge-hidden' } enum AngularElementE2E { @@ -69,3 +70,11 @@ export function isMatFocused(element: any) { export function isKeyboardFocused(element: any) { containClass(element, AngularClassesE2E.CDK_KEYBOARD_FOCUSED); } + +export function expectIconWithoutBadge(element: any): void { + containClass(element, AngularClassesE2E.MAT_BADGE_HIDDEN) +} + +export function expectIconWithBadge(element: any): void { + notContainClass(element, AngularClassesE2E.MAT_BADGE_HIDDEN) +} diff --git a/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts b/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts index 62b64501d57ac8bfed9e3492f184b01eae723a5f..dc550eca333a4fdeac24242b75c0269a67857dd6 100644 --- a/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts +++ b/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts @@ -63,6 +63,7 @@ export function visitUrl(url: string): void { } export function initCommandData(data: CommandE2E[]): void { + cy.task(CypressTasks.DROP_COLLECTIONS, [MongoCollections.COMMAND]); cy.task(CypressTasks.INIT_COMMAND_DATA, { collection: MongoCollections.COMMAND, data }); } @@ -80,18 +81,22 @@ export function initGridFsData(data: GridFsFileDataE2E[]): void { } function initGridFsFileData(data: GridFsFileE2E[]): void { + cy.task(CypressTasks.DROP_COLLECTIONS, [MongoCollections.FS_FILES]); cy.task(CypressTasks.INIT_GRID_FS_FILE_DATA, { collection: MongoCollections.FS_FILES, data }); } function initGridFsChunkData(data: GridFsChunkE2E[]): void { + cy.task(CypressTasks.DROP_COLLECTIONS, [MongoCollections.FS_CHUNKS]); cy.task(CypressTasks.INIT_GRID_FS_CHUNK_DATA, { collection: MongoCollections.FS_CHUNKS, data }); } export function initVorgangAttachedItemData(data: VorgangAttachedItemE2E[]): void { + cy.task(CypressTasks.DROP_COLLECTIONS, [MongoCollections.VORGANG_ATTACHED_ITEM]); cy.task(CypressTasks.INIT_VORGANG_ATTACHED_ITEM_DATA, { collection: MongoCollections.VORGANG_ATTACHED_ITEM, data }); } export function initVorgangData(data: VorgangE2E[]): void { + cy.task(CypressTasks.DROP_COLLECTIONS, [MongoCollections.VORGANG]); cy.task(CypressTasks.INIT_VORGANG_DATA, { collection: MongoCollections.VORGANG, data }); } @@ -104,6 +109,7 @@ export function dropSearchIndex(){ } export function initUsermanagerData(data: UsermanagerUserE2E[]): void { + cy.task(CypressTasks.DROP_USER_MANAGER_COLLECTIONS, [MongoCollections.USER]); cy.task(CypressTasks.INIT_USERMANAGER_DATA, { collection: MongoCollections.USER, data }); } diff --git a/alfa-client/apps/alfa-e2e/src/support/user-util.ts b/alfa-client/apps/alfa-e2e/src/support/user-util.ts index e9d28f638f213af7d03b0ba6ac17dc4c569a7d0f..c47fe58593b45d6a252c51198830b5ebf6c46a71 100644 --- a/alfa-client/apps/alfa-e2e/src/support/user-util.ts +++ b/alfa-client/apps/alfa-e2e/src/support/user-util.ts @@ -46,29 +46,37 @@ export function getUserDorothea(): UserE2E { } export function getUserManagerUserSabine(): UsermanagerUserE2E { - const user: UsermanagerUserE2E = userManagerSabineFixture; - user.externalId = getUserSabineUuid(); - return user; + return withIdsFromCypressEnv(userManagerSabineFixture); +} + +export function getUserManagerUserPeter(): UsermanagerUserE2E { + return withIdsFromCypressEnv(userManagerPeterFixture); +} + +export function getUserManagerUserEmil(): UsermanagerUserE2E { + return withIdsFromCypressEnv(userManagerEmilFixture); } -export function getUserSabineUuid(): string { - return getCypressEnv('sabineUuid'); +export function getUserManagerUserDorothea(): UsermanagerUserE2E { + return withIdsFromCypressEnv(userManagerDorotheaFixture); } export function getUserSabineInternalId(): string { - return '63284e55c39b316b2ad02e2d'; + return getUserManagerUserSabine()._id.$oid; } -export function getUserManagerUserPeter(): UsermanagerUserE2E { - return userManagerPeterFixture; +function withIdsFromCypressEnv(user: UsermanagerUserE2E): UsermanagerUserE2E { + user._id = { $oid: getUserInternalIdFromCypressEnv(user.username) }; + user.keycloakUserId = getKeycloakUserIdFromCypressEnv(user.username); + return user; } -export function getUserManagerUserEmil(): UsermanagerUserE2E { - return userManagerEmilFixture; +function getUserInternalIdFromCypressEnv(username: string): string { + return getCypressEnv(`${username}InternalId`); } -export function getUserManagerUserDorothea(): UsermanagerUserE2E { - return userManagerDorotheaFixture; +function getKeycloakUserIdFromCypressEnv(username: string): string { + return getCypressEnv(`${username}Uuid`); } enum DatabaseUser { diff --git a/alfa-client/apps/alfa-e2e/src/support/wiedervorlage-util.ts b/alfa-client/apps/alfa-e2e/src/support/wiedervorlage-util.ts index 2ca07c6fde1e7dcc8ec7fe48a13dcbc1fda825f5..49ee58d9d1445a9130298d83d5dddc88c58b4e6a 100644 --- a/alfa-client/apps/alfa-e2e/src/support/wiedervorlage-util.ts +++ b/alfa-client/apps/alfa-e2e/src/support/wiedervorlage-util.ts @@ -25,9 +25,9 @@ import { encodeUrlForEmbedding } from '@alfa-client/tech-shared'; import { VorgangAttachedItemClientE2E, VorgangAttachedItemE2E, VorgangAttachedItemNameE2E } from '../model/vorgang-attached-item'; import { WiedervorlageE2E } from '../model/wiedervorlage'; import { buildUrl } from './tech.util'; -import { getUserSabineInternalId } from './user-util'; import { VORGANG_ATTACHED_ITEM_CLASS } from './vorgang-attached-item-util'; import { createVorgangUriById } from './vorgang-util'; +import { getUserSabineInternalId } from './user-util'; /** @deprecated */ const wiedervorlageFixture: WiedervorlageE2E = require('../fixtures/wiedervorlage/wiedervorlage.json'); diff --git a/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html b/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html index a9836e9c3fa47a7bcaf12338d80fd5db06f80c0f..be19f0528399e99e7b5a974ab021c1ca10f3f9d0 100644 --- a/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html +++ b/alfa-client/libs/ui/src/lib/ui/editor/textarea-editor/textarea-editor.component.html @@ -34,8 +34,7 @@ cdkTextareaAutosize [formControl]="fieldControl" [attr.data-test-id]="(label | convertForDataTest) + '-textarea-input'" - (blur)="touch()"> - </textarea> + (blur)="touch()"></textarea> <mat-error> <ozgcloud-validation-error diff --git a/alfa-server/src/main/resources/application-e2e.yml b/alfa-server/src/main/resources/application-e2e.yml index ae5baeb390881e44300c36f747852218e8646893..1f0ddf6798f02a5215ba2e80b778c0cad8f2aa47 100644 --- a/alfa-server/src/main/resources/application-e2e.yml +++ b/alfa-server/src/main/resources/application-e2e.yml @@ -1,3 +1,8 @@ +logging: + level: + '[de.ozgcloud]': INFO + config: classpath:log4j2-local.xml + keycloak: realm: by-e2e-local-dev diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/CallScope.java b/alfa-service/src/main/java/de/ozgcloud/alfa/CallScope.java index 8775f5643b16aec8d2eac043729932b6374739ea..e2852f8857675ccbc8878261ff0d92465cbc3d7e 100644 --- a/alfa-service/src/main/java/de/ozgcloud/alfa/CallScope.java +++ b/alfa-service/src/main/java/de/ozgcloud/alfa/CallScope.java @@ -24,6 +24,7 @@ package de.ozgcloud.alfa; import java.util.Map; +import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import org.springframework.beans.factory.ObjectFactory; @@ -59,6 +60,12 @@ public class CallScope implements Scope { @Override public Object get(String name, ObjectFactory<?> objectFactory) { + // This is a workaround for a problematic CallScope implementation. This should only happen during e2e tests execution. + if (Objects.isNull(scopedObjectsHolder.get())) { + LOG.warn("ThreadLocal value for {} not found.", name); + return objectFactory.getObject(); + } + if (!scopedObjectsHolder.get().containsKey(name)) { scopedObjectsHolder.get().put(name, objectFactory.getObject()); }