From 1ffa7ef9c1ebe9eb80842a4f852b210c0eee8158 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 29 Sep 2022 14:33:15 +0200 Subject: [PATCH] ozg-2964 elasticsearch e2e --- .../vorgang-list-ea.search.e2e-spec.ts | 6 +++-- .../apps/goofy-e2e/src/support/commands.ts | 25 +++++++++++++++++++ .../goofy-e2e/src/support/cypress-helper.ts | 6 +++++ .../goofy-e2e/src/support/vorgang-util.ts | 6 ++++- 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.e2e-spec.ts index f883346b68..445732dcb6 100644 --- a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.e2e-spec.ts +++ b/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.e2e-spec.ts @@ -6,7 +6,7 @@ import { VorgangPage } from '../../../page-objects/vorgang.po'; import { dropCollections, reload } from '../../../support/cypress-helper'; import { CypressKeyboardActions, exist, notExist } from '../../../support/cypress.util'; import { loginAsEmil, UserRoleE2E } from '../../../support/user-util'; -import { buildVorgang, createVorgang, initVorgaenge, objectIds } from '../../../support/vorgang-util'; +import { buildVorgang, createVorgang, initElasticsearch, initVorgaenge, objectIds } from '../../../support/vorgang-util'; describe('VorgangList Suche for EA User', () => { const mainPage: MainPage = new MainPage(); @@ -29,6 +29,8 @@ describe('VorgangList Suche for EA User', () => { before(() => { initVorgaenge([vorgangToStay, vorgangToDisappear]) + initElasticsearch([vorgangToStay, vorgangToDisappear]) + loginAsEmil(); waitForSpinnerToDisappear(); @@ -72,7 +74,7 @@ describe('VorgangList Suche for EA User', () => { }) function doSearch(): void { - mainPage.getVorgangSearch().getInput().clear().type(requestId + CypressKeyboardActions.ENTER); + mainPage.getVorgangSearch().getInput().clear().type(vorgangToStay.name + CypressKeyboardActions.ENTER); } }) }); \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/support/commands.ts b/goofy-client/apps/goofy-e2e/src/support/commands.ts index 31f9b14d98..3d4589b882 100644 --- a/goofy-client/apps/goofy-e2e/src/support/commands.ts +++ b/goofy-client/apps/goofy-e2e/src/support/commands.ts @@ -7,6 +7,7 @@ declare namespace Cypress { login(user, password); logout(); getUserInfo(); + addVorgangToElasticsearchIndex(vorgang); } } @@ -85,6 +86,30 @@ Cypress.Commands.add('logout', () => { }); }) +Cypress.Commands.add('addVorgangToElasticsearchIndex', (vorgang) => { + const elasticsearchEnv = Cypress.env("elasticsearch") + const token = btoa(`${elasticsearchEnv["user"]}:${elasticsearchEnv["password"]}`) + + cy.request({ + method: 'POST', + url: `${elasticsearchEnv["url"]}/${elasticsearchEnv["index"]}/_doc/${vorgang._id.$oid}`, + headers: { + 'Authorization': `Basic ${token}` + }, + body: { + "_class" : "de.itvsh.ozg.pluto.common.search.IndexedVorgang", + "vorgangId" : vorgang._id.$oid, + "vorgangName" : vorgang.name, + "vorgangNummer" : vorgang.nummer, + "createdAt" : vorgang.createdAt.$date, + "antragstellerName" : "Testermann", + "antragstellerVorname" : "Max", + "status" : vorgang.status, + "organisationseinheitenId" : "12345678" + } + }); +}) + function getKeycloakBaseRealmUrl(): string { return `${Cypress.env("keycloakUrl")}auth/realms/${Cypress.env("keycloakRealm")}/protocol/openid-connect`; } \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/support/cypress-helper.ts b/goofy-client/apps/goofy-e2e/src/support/cypress-helper.ts index 35b8d6945b..c29bb7aeca 100644 --- a/goofy-client/apps/goofy-e2e/src/support/cypress-helper.ts +++ b/goofy-client/apps/goofy-e2e/src/support/cypress-helper.ts @@ -65,6 +65,12 @@ export function initVorgangData(data: VorgangE2E[]): void { cy.task(CypressTasks.INIT_VORGANG_DATA, { collection: MongoCollections.VORGANG, data }); } +export function initElasticsearchData(vorgaenge: VorgangE2E[]): void { + vorgaenge.forEach(vorgang => { + cy.addVorgangToElasticsearchIndex(vorgang) + }) +} + export function dropCollections() { cy.task(CypressTasks.DROP_COLLECTIONS, [MongoCollections.COMMAND, MongoCollections.VORGANG, MongoCollections.VORGANG_ATTACHED_ITEM, MongoCollections.FS_FILES, MongoCollections.FS_CHUNKS]); } diff --git a/goofy-client/apps/goofy-e2e/src/support/vorgang-util.ts b/goofy-client/apps/goofy-e2e/src/support/vorgang-util.ts index 70d55586d6..fa4c922ac7 100644 --- a/goofy-client/apps/goofy-e2e/src/support/vorgang-util.ts +++ b/goofy-client/apps/goofy-e2e/src/support/vorgang-util.ts @@ -1,6 +1,6 @@ import { AccessPermissionE2E, AntragstellerE2E, ClientAttributeE2E, ClientAttributesE2E, EingangE2E, EingangHeaderE2E, VorgangE2E } from '../model/vorgang'; import { VorgangAttachedItemClientE2E } from '../model/vorgang-attached-item'; -import { initVorgangData } from './cypress-helper'; +import { initVorgangData, initElasticsearchData } from './cypress-helper'; import { buildUrl, encodeUrl } from './tech.util'; export const objectIds: string[] = require('../fixtures/util/object_id_collection.json'); @@ -18,6 +18,10 @@ export function buildVorgang($oid: string, uiIdentifier: string): VorgangE2E { }; } +export function initElasticsearch(vorgaenge: VorgangE2E[]): void { + initElasticsearchData(vorgaenge); +} + export function initVorgang(vorgang: VorgangE2E): void { initVorgaenge([vorgang]); } -- GitLab