diff --git a/goofy-client/apps/goofy-e2e/src/integration_einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/integration_einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.e2e-spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..d2214a11a96a170bbe48cca0f8123939bd176da7
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/src/integration_einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.e2e-spec.ts
@@ -0,0 +1,123 @@
+import { loginAsTestEa } from 'apps/goofy-e2e/src/support/user-util';
+import { buildVorgang, createVorgang, initVorgaenge, objectIds } from 'apps/goofy-e2e/src/support/vorgang-util';
+import { SnackBarE2EComponent } from '../../components/ui/snackbar.e2e.component';
+import { VorgangListE2EComponent } from '../../components/vorgang/vorgang-list.e2e.component';
+import { VorgangE2E, VorgangMessagesE2E, VorgangStatusE2E, vorgangStatusLabelE2E } from '../../model/vorgang';
+import { MainPage } from '../../page-objects/main.po';
+import { VorgangPage } from '../../page-objects/vorgang.po';
+import { contains, exist, haveText, notExist } from '../../support/cypress.util';
+
+describe('Vorgang abschliessen', () => {
+	const mainPage: MainPage = new MainPage();
+	const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList();
+	const snackBar: SnackBarE2EComponent = mainPage.getSnackBar();
+
+	const vorgangPage: VorgangPage = new VorgangPage();
+
+	const vorgangAbschliessen: VorgangE2E = { ...createVorgang(), name: 'DoAbschliessen', status: VorgangStatusE2E.IN_BEARBEITUNG };
+	const vorgangAbschliessenRevoke: VorgangE2E = { ...buildVorgang(objectIds[0], 'DoRevokeAbschliessen'), status: VorgangStatusE2E.IN_BEARBEITUNG };
+
+	before(() => {
+		initVorgaenge([vorgangAbschliessen, vorgangAbschliessenRevoke]);
+
+		loginAsTestEa();
+
+		exist(vorgangList.getRoot());
+	})
+
+	describe('abschliessen', () => {
+
+		it('Open Vorgang-Detail-Page', () => {
+			vorgangList.getListItem(vorgangAbschliessen.name).getRoot().click();
+
+			exist(vorgangPage.getVorgangDetailHeader().getRoot());
+		})
+
+		describe('by button', () => {
+
+			it('should have status Beschieden', () => {
+				haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangAbschliessen.status]);
+			})
+
+			it('should show snackBar message', () => {
+				vorgangPage.getFormularContainer().clickAbschliessenByButton();
+
+				contains(snackBar.getMessage(), VorgangMessagesE2E.ABGESCHLOSSEN)
+			})
+
+			it('should show snackBar close button', () => {
+				exist(snackBar.getCloseButton());
+			})
+
+			it('should close snackBar', () => {
+				snackBar.getCloseButton().click();
+
+				notExist(snackBar.getMessage());
+			})
+
+			it('should have status Abgeschlossen', () => {
+				haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ABGESCHLOSSEN]);
+			})
+
+			it('back to vorgang list', () => {
+				vorgangPage.getSubnavigation().clickBackButton();
+
+				exist(vorgangList.getRoot());
+			})
+
+			it('should have status Abgeschlossen', () => {
+				vorgangList.waitForSpinnerToDisappear();
+
+				haveText(vorgangList.getListItem(vorgangAbschliessen.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ABGESCHLOSSEN]);
+			})
+		})
+	})
+
+	describe('abschliessen und rückgängig machen', () => {
+
+		it('Open Vorgang-Detail-Page', () => {
+			vorgangList.getListItem(vorgangAbschliessenRevoke.name).getRoot().click();
+
+			exist(vorgangPage.getVorgangDetailHeader().getRoot());
+		})
+
+		describe('by icon-button', () => {
+
+			it('should have status Beschieden', () => {
+				haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangAbschliessenRevoke.status]);
+			})
+
+			it('should show snackBar message', () => {
+				vorgangPage.getSubnavigation().clickAbschliessenByIconButton();
+
+				contains(snackBar.getMessage(), VorgangMessagesE2E.ABGESCHLOSSEN);
+			})
+
+			it('should show snackBar close button', () => {
+				exist(snackBar.getCloseButton());
+			})
+
+			it('should show progressbar', () => {
+				snackBar.getRevokeButton().click();
+
+				exist(vorgangPage.getProgressBar());
+			})
+
+			it('should show status Beschieden', () => {
+				haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.IN_BEARBEITUNG]);
+			})
+
+			it('back to vorgang list', () => {
+				vorgangPage.getSubnavigation().clickBackButton();
+
+				exist(vorgangList.getRoot());
+			})
+
+			it('should have status Beschieden', () => {
+				vorgangList.waitForSpinnerToDisappear();
+
+				haveText(vorgangList.getListItem(vorgangAbschliessenRevoke.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.IN_BEARBEITUNG])
+			})
+		})
+	})
+});