diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts
index ac4f926faa23319149791317810064025a860a93..9625881fd074b36357c0a342ba9ccb87799823ed 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts
@@ -54,15 +54,19 @@ describe('VorgangList Suche', () => {
 		const vorgangToStay: VorgangE2E = { ...createVorgang(), name: 'VorgangToStay', eingangs: [eingang], assignedTo: getUserSabineInternalId() };
 
 		const vorgangToDisappear: VorgangE2E = { ...buildVorgang(objectIds[0], 'VorgangToDisappear'), status: VorgangStatusE2E.NEU };
+		const vorgangHyphen: VorgangE2E = { ...buildVorgang(objectIds[1], 'Vorgang-mit-Bindestrich'), status: VorgangStatusE2E.NEU };
+		const vorgangWOHyphen: VorgangE2E = { ...buildVorgang(objectIds[2], 'Vorgang mit ohne Bindestrich'), status: VorgangStatusE2E.NEU };
 
 		const vorgangStayInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangToStay.name);
 		const vorgangDisappearInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangToDisappear.name);
+		const vorgangHyphenInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangHyphen.name);
+		const vorgangWOHyphenInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangWOHyphen.name);
 
 		const userSabine: UserE2E = getUserSabine();
 
 		before(() => {
-			initVorgaenge([vorgangToStay, vorgangToDisappear]);
-			initSearchIndex([vorgangToStay, vorgangToDisappear]);
+			initVorgaenge([vorgangToStay, vorgangToDisappear, vorgangHyphen, vorgangWOHyphen]);
+			initSearchIndex([vorgangToStay, vorgangToDisappear, vorgangHyphen, vorgangWOHyphen]);
 			initUsermanagerUsers([getUserManagerUserSabine()]);
 
 			loginAsSabine();
@@ -84,6 +88,64 @@ describe('VorgangList Suche', () => {
 			notExist(vorgangDisappearInList.getRoot());
 		})
 
+		describe('Search for partial strings...', () => {
+			it ('should find partial string at the beginning', () => {
+				doSearchWith('VorgangToS');
+				waitForSpinnerToDisappear();
+
+				exist(vorgangStayInList.getRoot());
+			})
+
+			it ('should find partial string in the middle', () => {
+				doSearchWith('gangToSt');
+				waitForSpinnerToDisappear();
+
+				exist(vorgangStayInList.getRoot());
+			})
+
+			it ('should find partial string at the end, case insensitive', () => {
+				doSearchWith('toStay');
+				waitForSpinnerToDisappear();
+
+				exist(vorgangStayInList.getRoot());
+			})
+
+		})
+
+		describe ('Search with hyphen', () => {
+			it ('should find entry with hyphen', () => {
+				doSearchWith('Vorgang-mit');
+				waitForSpinnerToDisappear();
+
+				exist(vorgangHyphenInList.getRoot());
+				notExist(vorgangWOHyphenInList.getRoot());
+			})
+
+			it ('should find entry without hyphen', () => {
+				doSearchWith('Vorgang mit');
+				waitForSpinnerToDisappear();
+
+				notExist(vorgangHyphenInList.getRoot());
+				exist(vorgangWOHyphenInList.getRoot());
+			})
+		})
+
+		describe ('Search with AND', () => {
+			it ('should find entry with all matches', () => {
+				doSearchWith('Vorgang mit ohne Bindestrich');
+				waitForSpinnerToDisappear();
+
+				exist(vorgangWOHyphenInList.getRoot());
+			})
+
+			it ('should not find entry when using additional words', () => {
+				doSearchWith('Vorgang mit ohne als Bindestrich');
+				waitForSpinnerToDisappear();
+
+				notExist(vorgangWOHyphenInList.getRoot());
+			})
+		})
+
 		describe('navigate with filtered list to vorgang detail', () => {
 
 			beforeEach(() => {
@@ -444,6 +506,7 @@ describe('VorgangList Suche', () => {
 	})
 
 
+
 	function doSearchWith(searchBy: string): void {
 		enterWith(vorgangSearch.getInput(), searchBy);
 	}