From 2b216f9ad485b85ca1ea795080c192f1541709ee Mon Sep 17 00:00:00 2001
From: Stefan Seemann <s.seemann@adito.de>
Date: Wed, 29 Sep 2021 13:15:25 +0200
Subject: [PATCH] Reset data before each test

---
 cypress/integration/globalTests/indexSearch.ts     |  8 ++++++--
 cypress/integration/globalTests/login.ts           |  4 ++++
 cypress/integration/globalTests/main_menu.ts       |  4 ++++
 .../ActivityEdit_view/CreateActivity_AllFields.ts  |  4 ++++
 .../AttributeEdit_view/AttributeEdit_Person.ts     |  4 ++++
 .../DocumentEdit_view/DocumentEdit_UploadOrg.ts    |  4 ++++
 .../OrganisationEdit_view/CreateOrganisation.ts    |  4 ++++
 .../CreateOrganisation_AllFields.ts                |  4 ++++
 .../OrganisationFilter_Group.ts                    |  4 ++++
 .../OrganisationMain_openAndChangeTab.ts           |  4 ++++
 .../OrganisationPreview_setFavorite.ts             |  4 ++++
 .../singleTests/PersonEdit_view/CreatePerson.ts    |  4 ++++
 .../PersonEdit_view/CreatePerson_AllFields.ts      |  4 ++++
 .../PersonFilter_view/PersonFilter_AllTypes.ts     |  4 ++++
 .../PersonFilter_SpecificFilter.ts                 |  4 ++++
 .../PersonFilter_view/PersonFilter_testButtons.ts  |  4 ++++
 .../PersonMain_view/PersonMain_openAndEdit.ts      |  4 ++++
 .../PersonPreview_openAndCloseDrawer.ts            |  4 ++++
 .../PersonPreview_setFavorite.ts                   |  4 ++++
 cypress/support/index.ts                           |  1 +
 cypress/support/internal/resetData.ts              | 14 ++++++++++++++
 package.json                                       |  3 ++-
 22 files changed, 95 insertions(+), 3 deletions(-)
 create mode 100644 cypress/support/internal/resetData.ts

diff --git a/cypress/integration/globalTests/indexSearch.ts b/cypress/integration/globalTests/indexSearch.ts
index 2ec4c2d088..49f0d905fd 100644
--- a/cypress/integration/globalTests/indexSearch.ts
+++ b/cypress/integration/globalTests/indexSearch.ts
@@ -1,12 +1,16 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Index Search", () =>
 {
-    it("Should find a specific company in the index search component", () =>
+    it([Tag.DEFAULT], "Should find a specific company in the index search component", () =>
     {
         cy.login();
         cy.searchIndex("meineFirma");
     });
     
-    it("Should search for a company in the indexsearch and open the 'show more' context", () =>
+    it([Tag.DEFAULT], "Should search for a company in the indexsearch and open the 'show more' context", () =>
     {
         cy.login();
         cy.openIndexResult("Bucher");
diff --git a/cypress/integration/globalTests/login.ts b/cypress/integration/globalTests/login.ts
index 86eb61c982..8b24210f57 100644
--- a/cypress/integration/globalTests/login.ts
+++ b/cypress/integration/globalTests/login.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Login", () => {
     it([Tag.DEFAULT], "should login with admin account properly", () => {
         cy.login();
diff --git a/cypress/integration/globalTests/main_menu.ts b/cypress/integration/globalTests/main_menu.ts
index 7594eacea4..3047df2221 100644
--- a/cypress/integration/globalTests/main_menu.ts
+++ b/cypress/integration/globalTests/main_menu.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Admin-Menu", () => {
     it([Tag.DEFAULT], "Should show all Admin Menu-Points", () => {
         cy.login();
diff --git a/cypress/integration/singleTests/ActivityEdit_view/CreateActivity_AllFields.ts b/cypress/integration/singleTests/ActivityEdit_view/CreateActivity_AllFields.ts
index b6a0b3ca55..b93f26ebc1 100644
--- a/cypress/integration/singleTests/ActivityEdit_view/CreateActivity_AllFields.ts
+++ b/cypress/integration/singleTests/ActivityEdit_view/CreateActivity_AllFields.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Create Activity", () =>
 {
     it([Tag.DEFAULT], "Should try to create an Activity, but as it is in the future it should not be possible", () =>
diff --git a/cypress/integration/singleTests/AttributeEdit_view/AttributeEdit_Person.ts b/cypress/integration/singleTests/AttributeEdit_view/AttributeEdit_Person.ts
index 55be10cb81..f0f9c568f1 100644
--- a/cypress/integration/singleTests/AttributeEdit_view/AttributeEdit_Person.ts
+++ b/cypress/integration/singleTests/AttributeEdit_view/AttributeEdit_Person.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Add, change, cancel, delete Attribute in Person", () =>
 {
         
diff --git a/cypress/integration/singleTests/DocumentEdit_view/DocumentEdit_UploadOrg.ts b/cypress/integration/singleTests/DocumentEdit_view/DocumentEdit_UploadOrg.ts
index 76137e2f0c..c889e63110 100644
--- a/cypress/integration/singleTests/DocumentEdit_view/DocumentEdit_UploadOrg.ts
+++ b/cypress/integration/singleTests/DocumentEdit_view/DocumentEdit_UploadOrg.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Upload and delete document from Organisation", () =>
 {
         
diff --git a/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation.ts b/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation.ts
index b9dd9296a8..28cceb08b6 100644
--- a/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation.ts
+++ b/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Create Organisation", () =>
 {
     it([Tag.DEFAULT], "Should create an organisation with all necessary fields", () =>
diff --git a/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation_AllFields.ts b/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation_AllFields.ts
index 63028cb800..cc9ad7ae7f 100644
--- a/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation_AllFields.ts
+++ b/cypress/integration/singleTests/OrganisationEdit_view/CreateOrganisation_AllFields.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Create Organisation with all fields", () =>
 {
     it([Tag.DEFAULT], "Should create an organisation with all fields", () =>
diff --git a/cypress/integration/singleTests/OrganisationFilter_view/OrganisationFilter_Group.ts b/cypress/integration/singleTests/OrganisationFilter_view/OrganisationFilter_Group.ts
index bc1e012709..f59e68f92b 100644
--- a/cypress/integration/singleTests/OrganisationFilter_view/OrganisationFilter_Group.ts
+++ b/cypress/integration/singleTests/OrganisationFilter_view/OrganisationFilter_Group.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Filter Organisation data", () =>
 {
         
diff --git a/cypress/integration/singleTests/OrganisationMain_view/OrganisationMain_openAndChangeTab.ts b/cypress/integration/singleTests/OrganisationMain_view/OrganisationMain_openAndChangeTab.ts
index 38b2f78e9e..cd2af68fe7 100644
--- a/cypress/integration/singleTests/OrganisationMain_view/OrganisationMain_openAndChangeTab.ts
+++ b/cypress/integration/singleTests/OrganisationMain_view/OrganisationMain_openAndChangeTab.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Open Organisation", () =>
 {
         
diff --git a/cypress/integration/singleTests/OrganisationPreview_view/OrganisationPreview_setFavorite.ts b/cypress/integration/singleTests/OrganisationPreview_view/OrganisationPreview_setFavorite.ts
index b3878fcb73..894eb325b9 100644
--- a/cypress/integration/singleTests/OrganisationPreview_view/OrganisationPreview_setFavorite.ts
+++ b/cypress/integration/singleTests/OrganisationPreview_view/OrganisationPreview_setFavorite.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Set a favorite organisation", () => {
         
     it([Tag.DEFAULT], "Should set a favorite organisation without tag", () =>
diff --git a/cypress/integration/singleTests/PersonEdit_view/CreatePerson.ts b/cypress/integration/singleTests/PersonEdit_view/CreatePerson.ts
index c28bd486a6..6323a91af4 100644
--- a/cypress/integration/singleTests/PersonEdit_view/CreatePerson.ts
+++ b/cypress/integration/singleTests/PersonEdit_view/CreatePerson.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Create Person", () =>
 {
     it([Tag.DEFAULT], "Should create a person with all necessary fields", () =>
diff --git a/cypress/integration/singleTests/PersonEdit_view/CreatePerson_AllFields.ts b/cypress/integration/singleTests/PersonEdit_view/CreatePerson_AllFields.ts
index ed7dfc6f93..949d6b465f 100644
--- a/cypress/integration/singleTests/PersonEdit_view/CreatePerson_AllFields.ts
+++ b/cypress/integration/singleTests/PersonEdit_view/CreatePerson_AllFields.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Create Person", () =>
 {
     it([Tag.DEFAULT], "Should create a person with all fields", () =>
diff --git a/cypress/integration/singleTests/PersonFilter_view/PersonFilter_AllTypes.ts b/cypress/integration/singleTests/PersonFilter_view/PersonFilter_AllTypes.ts
index bd2394c2c8..6d4a910215 100644
--- a/cypress/integration/singleTests/PersonFilter_view/PersonFilter_AllTypes.ts
+++ b/cypress/integration/singleTests/PersonFilter_view/PersonFilter_AllTypes.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Filter Person data", () => {
         
     it([Tag.DEFAULT], "Should filter person surname correctly", () =>
diff --git a/cypress/integration/singleTests/PersonFilter_view/PersonFilter_SpecificFilter.ts b/cypress/integration/singleTests/PersonFilter_view/PersonFilter_SpecificFilter.ts
index 8d1c0ff208..c7da2ff35b 100644
--- a/cypress/integration/singleTests/PersonFilter_view/PersonFilter_SpecificFilter.ts
+++ b/cypress/integration/singleTests/PersonFilter_view/PersonFilter_SpecificFilter.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Filter Person data - specific types with assertion", () =>
 {
     it([Tag.DEFAULT], "Should filter person firstname correctly", () =>
diff --git a/cypress/integration/singleTests/PersonFilter_view/PersonFilter_testButtons.ts b/cypress/integration/singleTests/PersonFilter_view/PersonFilter_testButtons.ts
index 6e90b308c2..666fb39670 100644
--- a/cypress/integration/singleTests/PersonFilter_view/PersonFilter_testButtons.ts
+++ b/cypress/integration/singleTests/PersonFilter_view/PersonFilter_testButtons.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Press different buttons", () =>
 {
         
diff --git a/cypress/integration/singleTests/PersonMain_view/PersonMain_openAndEdit.ts b/cypress/integration/singleTests/PersonMain_view/PersonMain_openAndEdit.ts
index 9926ec69f1..2af813a186 100644
--- a/cypress/integration/singleTests/PersonMain_view/PersonMain_openAndEdit.ts
+++ b/cypress/integration/singleTests/PersonMain_view/PersonMain_openAndEdit.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Filter Person data", () => {
         
     it([Tag.DEFAULT], "Should open main view and then edit", () =>
diff --git a/cypress/integration/singleTests/PersonPreview_view/PersonPreview_openAndCloseDrawer.ts b/cypress/integration/singleTests/PersonPreview_view/PersonPreview_openAndCloseDrawer.ts
index 1df38dbb23..b18b222a09 100644
--- a/cypress/integration/singleTests/PersonPreview_view/PersonPreview_openAndCloseDrawer.ts
+++ b/cypress/integration/singleTests/PersonPreview_view/PersonPreview_openAndCloseDrawer.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Drawer actions person", () =>
 {
         
diff --git a/cypress/integration/singleTests/PersonPreview_view/PersonPreview_setFavorite.ts b/cypress/integration/singleTests/PersonPreview_view/PersonPreview_setFavorite.ts
index d1e03765b4..2e65af25b3 100644
--- a/cypress/integration/singleTests/PersonPreview_view/PersonPreview_setFavorite.ts
+++ b/cypress/integration/singleTests/PersonPreview_view/PersonPreview_setFavorite.ts
@@ -1,3 +1,7 @@
+beforeEach(() => {
+    cy.resetData();
+})
+
 describe("Set a favorite person", () => {
         
     it([Tag.DEFAULT], "Should set a favorite person without tag", () =>
diff --git a/cypress/support/index.ts b/cypress/support/index.ts
index 70c186a119..63e9530e4e 100644
--- a/cypress/support/index.ts
+++ b/cypress/support/index.ts
@@ -7,6 +7,7 @@ import './view'
 import './actions'
 import './indexer'
 import './internal/taggingTests'
+import './internal/resetData'
 import 'cypress-wait-until'
 import './enum.ts'
 
diff --git a/cypress/support/internal/resetData.ts b/cypress/support/internal/resetData.ts
new file mode 100644
index 0000000000..c6fbcf4e84
--- /dev/null
+++ b/cypress/support/internal/resetData.ts
@@ -0,0 +1,14 @@
+/// <reference types="cypress" />
+
+declare namespace Cypress {
+    interface Chainable {
+        /**
+         * Executes the nodejs script reset:data
+         */
+        resetData(): Chainable<any>;
+    }
+}
+
+Cypress.Commands.add('resetData', (pSearchWord) => {
+    cy.exec("npm run reset:data", { failOnNonZeroExit: false });
+});
\ No newline at end of file
diff --git a/package.json b/package.json
index 519e354778..da4a354463 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,7 @@
     "mochawesome-report-generator": "^5.2.0"
   },
   "scripts": {
-    "create:reports": "mochawesome-merge cypress/reports/temp/*.json > cypress/reports/combined-report.json && marge --reportDir ./ --inline cypress/reports/combined-report.json"
+    "create:reports": "mochawesome-merge cypress/reports/temp/*.json > cypress/reports/combined-report.json && marge --reportDir ./ --inline cypress/reports/combined-report.json",
+    "reset:data": "run reset.sh"
   }
 }
-- 
GitLab