Skip to content
Snippets Groups Projects
Commit 8eaa441a authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'OZG-768 add e2e test for attaching files in Kommentare'...

Merge pull request 'OZG-768 add e2e test for attaching files in Kommentare' (#165) from OZG-768_e2e_tests into master

Reviewed-on: https://git.ozg-sh.de/mgm/goofy/pulls/165
parents 93fe117a 38832fd4
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,7 @@
*/
import { convertToDataTestId } from '../../support/tech.util';
import { UserProfileE2EComponent } from '../user-profile/user-profile.component.e2e';
import { AttachmentContainerE2EComponent } from '../attachment/attachment.e2e.component';
export class KommentareInVorgangE2EComponent {
......@@ -34,6 +35,9 @@ export class KommentareInVorgangE2EComponent {
readonly locatorTextInput: string = 'Kommentar-textarea-input';
readonly locatorTextError: string = 'Kommentar-textarea-error';
private readonly attachmentContainer: AttachmentContainerE2EComponent = new AttachmentContainerE2EComponent();
readonly locatorRoot: string = 'kommentar-container-in-vorgang';
public getRoot() {
......@@ -71,6 +75,10 @@ export class KommentareInVorgangE2EComponent {
public getKommentar(text: string): KommentarInVorgangE2E {
return new KommentarInVorgangE2E(text);
}
public getAttachmentContainer(): AttachmentContainerE2EComponent {
return this.attachmentContainer;
}
}
class KommentarInVorgangE2E {
......
/*
* Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
import { KommentareInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component';
import { UserE2E } from '../../../model/user';
import { VorgangE2E } from '../../../model/vorgang';
import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
import { VorgangPage } from '../../../page-objects/vorgang.po';
import { dropCollections, readFileFromDownloads } from '../../../support/cypress-helper';
import { exist, notExist } from '../../../support/cypress.util';
import { getUserSabine, loginAsSabine } from '../../../support/user-util';
import { createVorgang, initVorgang } from '../../../support/vorgang-util';
import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component';
import { AttachmentContainerE2EComponent, AttachmentListE2EComponent } from '../../../components/attachment/attachment.e2e.component';
import { uploadFile } from '../../../support/file-upload';
import { TEST_FILE_WITH_CONTENT, TEST_FILE_WITHOUT_CONTENT } from '../../../support/data.util';
describe('Kommentar attachments', () => {
const mainPage: MainPage = new MainPage();
const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList();
const vorgangPage: VorgangPage = new VorgangPage();
const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer();
const attachmentContainer: AttachmentContainerE2EComponent = kommentarContainer.getAttachmentContainer();
const attachmentList: AttachmentListE2EComponent = attachmentContainer.getList();
const kommentarText: string = 'Test text to test the test text test';
const vorgang: VorgangE2E = createVorgang();
const userSabine: UserE2E = getUserSabine();
before(() => {
initVorgang(vorgang);
loginAsSabine();
waitForSpinnerToDisappear();
exist(mainPage.getVorgangList().getRoot());
})
after(() => {
dropCollections();
})
describe('Upload attachements', () => {
it('should navigate to Vorgang', () => {
vorgangList.getListItem(vorgang.name).getRoot().click();
waitForSpinnerToDisappear();
exist(vorgangPage.getVorgangDetailHeader().getRoot());
});
it('should show button for uploading attachments when creating new Kommentar', () => {
kommentarContainer.getHinzufuegenButton().click();
waitForSpinnerToDisappear();
exist(attachmentContainer.getUploadInput());
});
it('should upload attachements', () => {
uploadFile(attachmentContainer.getUploadInput(), TEST_FILE_WITH_CONTENT);
waitForSpinnerToDisappear();
uploadFile(attachmentContainer.getUploadInput(), TEST_FILE_WITHOUT_CONTENT);
waitForSpinnerToDisappear();
exist(attachmentList.getItem(TEST_FILE_WITH_CONTENT).getRoot());
exist(attachmentList.getItem(TEST_FILE_WITHOUT_CONTENT).getRoot());
});
it('should show attachements after saving Kommentar', () => {
kommentarContainer.getTextInput().type(kommentarText);
kommentarContainer.getFormularSpeichernButton().click();
waitForSpinnerToDisappear();
exist(attachmentList.getItem(TEST_FILE_WITH_CONTENT).getRoot());
exist(attachmentList.getItem(TEST_FILE_WITHOUT_CONTENT).getRoot());
});
});
describe('Delete attachements', () => {
it('should delete attachments', () => {
kommentarContainer.getKommentar(kommentarText).getRoot().click();
waitForSpinnerToDisappear();
attachmentList.getItem(TEST_FILE_WITH_CONTENT).getDeleteButton().click();
waitForSpinnerToDisappear();
attachmentList.getItem(TEST_FILE_WITHOUT_CONTENT).getDeleteButton().click();
waitForSpinnerToDisappear();
notExist(attachmentList.getItem(TEST_FILE_WITH_CONTENT).getRoot());
notExist(attachmentList.getItem(TEST_FILE_WITHOUT_CONTENT).getRoot());
});
it('should not show attachments after saving Kommentar', () => {
kommentarContainer.getFormularSpeichernButton().click();
waitForSpinnerToDisappear();
notExist(attachmentList.getItem(TEST_FILE_WITH_CONTENT).getRoot());
notExist(attachmentList.getItem(TEST_FILE_WITHOUT_CONTENT).getRoot());
});
});
describe('Download Kommentar attachments', () => {
it('should upload attachment', () => {
kommentarContainer.getKommentar(kommentarText).getRoot().click();
waitForSpinnerToDisappear();
uploadFile(attachmentContainer.getUploadInput(), TEST_FILE_WITH_CONTENT);
waitForSpinnerToDisappear();
kommentarContainer.getFormularSpeichernButton().click();
waitForSpinnerToDisappear();
exist(attachmentList.getItem(TEST_FILE_WITH_CONTENT).getRoot());
});
it('should download uploaded attachment', () => {
attachmentList.getItem(TEST_FILE_WITH_CONTENT).getDownloadButton().click();
waitForSpinnerToDisappear();
exist(readFileFromDownloads(TEST_FILE_WITH_CONTENT));
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment