Skip to content
Snippets Groups Projects
Commit 98b57991 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'OZG-5010-Bescheid-Dokumente-hochladen-E2E' (#589) from...

Merge pull request 'OZG-5010-Bescheid-Dokumente-hochladen-E2E' (#589) from OZG-5010-Bescheid-Dokumente-hochladen-E2E into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/alfa/pulls/589


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents 643d41a0 9a34fdf2
Branches
Tags
No related merge requests found
......@@ -141,11 +141,11 @@ export class VorgangBescheidWizardE2EComponent {
}
public getFileBescheidValid() {
return cy.getTestElement(this.fileBescheidValid);
return cy.getTestElement(this.locatorRoot).find(`[data-test-id=${this.fileBescheidValid}]`);
}
public getFileAnhangValid() {
return cy.getTestElement(this.fileAnhangValid);
return cy.getTestElement(this.locatorRoot).find(`[data-test-id=${this.fileAnhangValid}]`);
}
public getDeleteButtonOfElement(element: string) {
......
......@@ -42,6 +42,7 @@ describe('Bescheid Wizard', () => {
const documentError: string = 'Erlaubte Dateiendungen';
const sizeError: string = 'Anhänge größer';
const missingBescheidError: string = 'Bitte fügen Sie';
before(() => {
initVorgaenge([bescheidVorgang]);
......@@ -136,4 +137,11 @@ describe('Bescheid Wizard', () => {
contains(bescheidWizard.getAttachmentDocument(), sizeError);
});
});
describe('do not continue without attached Bescheid', () => {
it('should show error if no Bescheid is attached and step 3 is clicked', () => {
bescheidWizard.getWeiterButton().click();
contains(bescheidWizard.getBescheidDocument(), missingBescheidError);
});
});
});
......@@ -13,7 +13,7 @@ import 'cypress-real-events/support';
import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component';
import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
import { VorgangPage } from '../../../page-objects/vorgang.po';
import { dropCollections } from '../../../support/cypress-helper';
import { dropCollections, wait } from '../../../support/cypress-helper';
import { contains, enterWith, exist, haveText, notExist } from '../../../support/cypress.util';
import { TEST_FILE_BESCHEID_VALID } from '../../../support/data.util';
import { getAdjustedDateEnglish, getAdjustedDateGerman } from '../../../support/tech.util';
......@@ -131,7 +131,7 @@ describe('Bescheid Wizard', () => {
bescheidWizard.getUeberspringenAbschliessen().click();
notExist(bescheidWizard.getRoot());
cy.wait(1000);
wait(1000);
haveText(
vorgangPage.getVorgangDetailHeader().getStatus(),
vorgangStatusLabelE2E[VorgangStatusE2E.ABGESCHLOSSEN],
......
......@@ -36,7 +36,6 @@ import {
countDownloadFiles,
deleteDownloadFolder,
dropCollections,
wait,
} from '../../../support/cypress-helper';
import { exist, notExist } from '../../../support/cypress.util';
import { loginAsSabine } from '../../../support/user-util';
......@@ -89,18 +88,21 @@ describe('Vorgang exportieren', () => {
it('should show "Herunterladen" button', () => {
exist(menuItem.getButton());
vorgangMoreMenu.getButton().click({ force: true });
});
it('should have 1 file in download folder after download', () => {
deleteDownloadFolder();
wait(1000);
deleteDownloadFolder().then(() => {
vorgangMoreMenu.getButton().click();
menuItem.getButton().click();
waitForSpinnerToDisappear();
countDownloadFiles().then((count) => {
expect(count).to.eq(1);
});
});
});
it('should close menu after download', () => {
notExist(menuItem.getRoot());
......
......@@ -60,15 +60,11 @@ describe('Vorgang Verwerfen', () => {
const vorgangVerwerfenRevoke: VorgangE2E = { ...buildVorgang(objectIds[0], 'DoRevokeVerwerfen') };
before(() => {
console.log('initVorgaenge');
initVorgaenge([vorgangVerwerfen, vorgangVerwerfenRevoke]);
console.log('loginAsSabine');
loginAsSabine();
console.log('waitforspinner');
waitForSpinnerToDisappear();
console.log('exists vorganglist.root');
exist(vorgangList.getRoot());
});
......
......@@ -131,8 +131,8 @@ export function countDownloadFiles(): Cypress.Chainable<number> {
return cy.task(CypressTasks.COUNT_FILES, DOWNLOAD_FOLDER);
}
export function deleteDownloadFolder(): void {
cy.task(CypressTasks.DELETE_FOLDER, DOWNLOAD_FOLDER);
export function deleteDownloadFolder() {
return cy.task(CypressTasks.DELETE_FOLDER, DOWNLOAD_FOLDER);
}
export function scrollToWindowBottom(): void {
......
import { rmdir } from 'fs';
import { readdir, remove } from 'fs-extra';
import { Db, Long, MongoClient, ObjectId } from 'mongodb';
const fs = require('fs');
const Binary = require('mongodb').Binary;
......@@ -317,26 +316,20 @@ function dropCollections(databaseUrl, databaseName, collections) {
});
}
function countFiles(folderName: string): Promise<number> {
return new Promise((resolve, reject) => {
fs.readdir(folderName, (err, files) => {
if (err) {
console.error(err);
return reject(err);
}
resolve(files.length);
});
function countFiles(folderName) {
return readdir(folderName)
.then((files) => files.length)
.catch((err) => {
throw new Error(`Counting files failed: ${err.message}`);
});
}
function deleteFolder(folderName: string): void {
new Promise((resolve, reject) => {
rmdir(folderName, { maxRetries: 10, recursive: true }, (err) => {
if (err) {
console.error(err);
return reject(err);
}
resolve(null);
});
return remove(folderName)
.then(() => {
return null;
})
.catch((err) => {
throw new Error(`Failed to delete folder: ${err.message}`);
});
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment