Skip to content
Snippets Groups Projects
Commit 99069c92 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6591 add test for Postfach Signatur

parent 5811a787
No related branches found
No related tags found
No related merge requests found
import { haveValue, typeText } from '../../support/cypress.util';
export class PostfachE2EComponent {
private readonly signaturText: string = 'signatur-text';
private readonly saveSignaturButton: string = 'save-button';
public getSignaturText(): any {
return cy.getTestElement(this.signaturText);
}
public setSignatur(signatur: string): void {
typeText(this.getSignaturText(), signatur);
}
public getSaveButton(): Cypress.Chainable<Element> {
return cy.getTestElement(this.saveSignaturButton);
}
public saveSignatur(): void {
this.getSaveButton().click();
}
public signatureContains(compare: string): void {
haveValue(this.getSignaturText(), compare);
}
}
...@@ -15,8 +15,7 @@ describe('Login and Logout', () => { ...@@ -15,8 +15,7 @@ describe('Login and Logout', () => {
const header: HeaderE2EComponent = mainPage.getHeader(); const header: HeaderE2EComponent = mainPage.getHeader();
before(() => { before(() => {
// Wozu Logout? //loginAsAriane();
// cy.logout();
}); });
it('login as test user', () => { it('login as test user', () => {
......
import { NavigationE2EComponent } from 'apps/alfa-e2e/src/components/navigation/navigation.e2e.component';
import { VorgangListE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-list.e2e.component';
import { VorgangSearchE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-search.e2e.component';
import { VorgangViewsE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component';
import { UsermanagerUserE2E } from 'apps/alfa-e2e/src/model/usermanager';
import { VorgangE2E } from 'apps/alfa-e2e/src/model/vorgang';
import { HeaderE2EComponent } from 'apps/alfa-e2e/src/page-objects/header.po';
import { MainPage, waitForSpinnerToDisappear } from 'apps/alfa-e2e/src/page-objects/main.po';
import { dropCollections, dropSearchIndex } from 'apps/alfa-e2e/src/support/cypress-helper';
import { enterWith, exist, haveText, notExist } from 'apps/alfa-e2e/src/support/cypress.util';
import {
getUserManagerUserSabine,
getUserSabineId,
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('Navigation', () => {
const mainPage: MainPage = new MainPage();
const header: HeaderE2EComponent = mainPage.getHeader();
const vorgangSearch: VorgangSearchE2EComponent = header.getVorgangSearch();
const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList();
const navigation: NavigationE2EComponent = mainPage.getNavigation();
const views: VorgangViewsE2EComponent = mainPage.getViews();
const usermanagerUserSabine: UsermanagerUserE2E = getUserManagerUserSabine();
const vorgang: VorgangE2E = createVorgang();
const vorgangNotBeFiltered: VorgangE2E = {
...buildVorgang(objectIds[0], 'vorgangNotBeFiltered'),
};
const vorgangAssigned: VorgangE2E = {
...buildVorgang(objectIds[1], 'vorgangAssigned'),
assignedTo: getUserSabineId(),
};
const vorgangAssignedNotBeFiltered: VorgangE2E = {
...buildVorgang(objectIds[2], 'vorgangAssignedNotBeFiltered'),
assignedTo: getUserSabineId(),
};
const searchString: string = 'NotBeFiltered';
before(() => {
initVorgaenge([vorgang, vorgangNotBeFiltered, vorgangAssigned, vorgangAssignedNotBeFiltered]);
initSearchIndex([vorgang, vorgangNotBeFiltered, vorgangAssigned, vorgangAssignedNotBeFiltered]);
initUsermanagerUsers();
loginAsSabine();
waitForSpinnerToDisappear();
exist(vorgangList.getRoot());
navigation.getAlleFilter().click();
waitForSpinnerToDisappear();
exist(vorgangList.getRoot());
});
after(() => {
dropCollections();
dropSearchIndex();
});
describe('navigation item myVorgaenge', () => {
it('should exists', () => {
exist(navigation.getMeineVorgaengeFilter());
});
});
describe('navigation item allVorgaenge', () => {
it('should exists', () => {
exist(navigation.getAlleFilter());
});
});
describe('click on my vorgaenge', () => {
it('should hide not to user assigned vorgaenge', () => {
navigation.getMeineVorgaengeFilter().click();
waitForSpinnerToDisappear();
notExist(vorgangList.getListItem(vorgang.name).getRoot());
notExist(vorgangList.getListItem(vorgangNotBeFiltered.name).getRoot());
exist(vorgangList.getListItem(vorgangAssigned.name).getRoot());
exist(vorgangList.getListItem(vorgangAssignedNotBeFiltered.name).getRoot());
});
it('should hide not matching vorgaenge after do search', () => {
doSearch(searchString);
waitForSpinnerToDisappear();
notExist(vorgangList.getListItem(vorgang.name).getRoot());
notExist(vorgangList.getListItem(vorgangNotBeFiltered.name).getRoot());
notExist(vorgangList.getListItem(vorgangAssigned.name).getRoot());
exist(vorgangList.getListItem(vorgangAssignedNotBeFiltered.name).getRoot());
});
});
describe('click on all vorgaenge', () => {
it('should show all vorgaenge', () => {
navigation.getAlleFilter().click();
waitForSpinnerToDisappear();
views.getVorgangList().getRoot().click();
waitForSpinnerToDisappear();
exist(vorgangList.getListItem(vorgang.name).getRoot());
exist(vorgangList.getListItem(vorgangNotBeFiltered.name).getRoot());
exist(vorgangList.getListItem(vorgangAssigned.name).getRoot());
exist(vorgangList.getListItem(vorgangAssignedNotBeFiltered.name).getRoot());
});
it('should hide not matching vorgaenge after do search', () => {
doSearch(searchString);
waitForSpinnerToDisappear();
notExist(vorgangList.getListItem(vorgang.name).getRoot());
exist(vorgangList.getListItem(vorgangNotBeFiltered.name).getRoot());
notExist(vorgangList.getListItem(vorgangAssigned.name).getRoot());
exist(vorgangList.getListItem(vorgangAssignedNotBeFiltered.name).getRoot());
});
});
describe('click on Suche view', () => {
it('and alle filter should show empty list', () => {
vorgangSearch.getClearButton().click();
waitForSpinnerToDisappear();
views.getSuche().getRoot().click();
waitForSpinnerToDisappear();
notExist(vorgangList.getListItem(vorgang.name).getRoot());
notExist(vorgangList.getListItem(vorgangNotBeFiltered.name).getRoot());
notExist(vorgangList.getListItem(vorgangAssigned.name).getRoot());
notExist(vorgangList.getListItem(vorgangAssignedNotBeFiltered.name).getRoot());
//TODO sauber implementieren
haveText(cy.getTestElement('empty-list-text'), 'Bitte geben Sie einen Suchbegriff ein.');
});
it('and meine filter should show empty list', () => {
navigation.getMeineVorgaengeFilter().click();
waitForSpinnerToDisappear();
notExist(vorgangList.getListItem(vorgang.name).getRoot());
notExist(vorgangList.getListItem(vorgangNotBeFiltered.name).getRoot());
notExist(vorgangList.getListItem(vorgangAssigned.name).getRoot());
notExist(vorgangList.getListItem(vorgangAssignedNotBeFiltered.name).getRoot());
//TODO sauber implementieren
haveText(cy.getTestElement('empty-list-text'), 'Bitte geben Sie einen Suchbegriff ein.');
});
});
function doSearch(searchString: string): void {
enterWith(vorgangSearch.getInput(), searchString);
}
});
import { getUserAriane } from 'apps/admin-e2e/src/support/user-util';
import { PostfachE2EComponent } from '../../components/postfach/postfach.e2e.component';
import { UserE2E } from '../../model/user';
import { HeaderE2EComponent } from '../../page-objects/header.po';
import { MainPage, waitForSpinnerToDisappear } from '../../page-objects/main.po';
import { exist } from '../../support/cypress.util';
describe('Signatur', () => {
//const app: App = getApp();
const user: UserE2E = getUserAriane();
const mainPage: MainPage = new MainPage();
const header: HeaderE2EComponent = mainPage.getHeader();
const postfachTab: PostfachE2EComponent = new PostfachE2EComponent();
const signaturText: string = 'Signatur';
before(() => {
//loginAsAriane();
});
it('login as Ariane', () => {
cy.visit('')
.get('#kc-login')
.should('exist')
.get('#username')
.type(user.name)
.get('#password')
.type(user.password)
.get('#kc-login')
.click();
});
it('should show Signatur input', () => {
waitForSpinnerToDisappear();
postfachTab.setSignatur(signaturText);
postfachTab.saveSignatur();
postfachTab.signatureContains(signaturText);
});
it('should logout', () => {
header.getCurrentUserProfile().logout();
exist(cy.get('#kc-login'));
});
});
...@@ -105,6 +105,10 @@ export function enterWith( ...@@ -105,6 +105,10 @@ export function enterWith(
element.type(CypressKeyboardActions.ENTER); element.type(CypressKeyboardActions.ENTER);
} }
export function typeText(element: Cypress.Chainable<JQuery<HTMLElement>>, value: string): void {
element.clear().type(value);
}
export function backspaceOn(element: any): void { export function backspaceOn(element: any): void {
element.type(CypressKeyboardActions.BACKSPACE); element.type(CypressKeyboardActions.BACKSPACE);
} }
......
...@@ -53,7 +53,6 @@ ...@@ -53,7 +53,6 @@
"@angular-eslint/eslint-plugin-template": "17.3.0", "@angular-eslint/eslint-plugin-template": "17.3.0",
"@angular-eslint/template-parser": "17.3.0", "@angular-eslint/template-parser": "17.3.0",
"@angular/cli": "~17.3.8", "@angular/cli": "~17.3.8",
"@angular/compiler": "^17.3.10",
"@angular/compiler-cli": "17.3.10", "@angular/compiler-cli": "17.3.10",
"@angular/language-service": "17.3.10", "@angular/language-service": "17.3.10",
"@bahmutov/cypress-extends": "1.1.0", "@bahmutov/cypress-extends": "1.1.0",
...@@ -89,6 +88,7 @@ ...@@ -89,6 +88,7 @@
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"cypress": "13.6.2", "cypress": "13.6.2",
"cypress-file-upload": "5.0.8", "cypress-file-upload": "5.0.8",
"cypress-keycloak": "^2.0.2",
"cypress-mochawesome-reporter": "3.8", "cypress-mochawesome-reporter": "3.8",
"cypress-real-events": "^1.12.0", "cypress-real-events": "^1.12.0",
"cypress-timestamps": "^1.2.3", "cypress-timestamps": "^1.2.3",
...@@ -1398,6 +1398,7 @@ ...@@ -1398,6 +1398,7 @@
"version": "17.3.10", "version": "17.3.10",
"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular/compiler/-/compiler-17.3.10.tgz", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@angular/compiler/-/compiler-17.3.10.tgz",
"integrity": "sha512-6Ce4siHyF0fCZBDm/cz+blJByGDu1/hbPkQVGmk5HGZTmCUeKkgyjoM6bZr7ssAsyGDRwxBh2SGHO4Ce31vuPA==", "integrity": "sha512-6Ce4siHyF0fCZBDm/cz+blJByGDu1/hbPkQVGmk5HGZTmCUeKkgyjoM6bZr7ssAsyGDRwxBh2SGHO4Ce31vuPA==",
"peer": true,
"dependencies": { "dependencies": {
"tslib": "^2.3.0" "tslib": "^2.3.0"
}, },
...@@ -20197,6 +20198,26 @@ ...@@ -20197,6 +20198,26 @@
"cypress": ">3.0.0" "cypress": ">3.0.0"
} }
}, },
"node_modules/cypress-keycloak": {
"version": "2.0.2",
"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-keycloak/-/cypress-keycloak-2.0.2.tgz",
"integrity": "sha512-pHCjn68pai6y3MPuaM7c6UEidIfaXfl2+4WKhQ/8wgprQb7YlPcuBI1txBC477O2OFLx9ii1XlSXXq7fUP8ZAg==",
"dev": true,
"dependencies": {
"base64-js": "^1.5.1",
"js-sha256": "^0.9.0"
},
"peerDependencies": {
"cypress": "^6.5.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0"
}
},
"node_modules/cypress-keycloak/node_modules/js-sha256": {
"version": "0.9.0",
"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/js-sha256/-/js-sha256-0.9.0.tgz",
"integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==",
"dev": true,
"license": "MIT"
},
"node_modules/cypress-mochawesome-reporter": { "node_modules/cypress-mochawesome-reporter": {
"version": "3.8.2", "version": "3.8.2",
"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.8.2.tgz", "resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.8.2.tgz",
...@@ -130,6 +130,7 @@ ...@@ -130,6 +130,7 @@
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"cypress": "13.6.2", "cypress": "13.6.2",
"cypress-file-upload": "5.0.8", "cypress-file-upload": "5.0.8",
"cypress-keycloak": "^2.0.2",
"cypress-mochawesome-reporter": "3.8", "cypress-mochawesome-reporter": "3.8",
"cypress-real-events": "^1.12.0", "cypress-real-events": "^1.12.0",
"cypress-timestamps": "^1.2.3", "cypress-timestamps": "^1.2.3",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment