diff --git a/backend/pom.xml b/backend/pom.xml
index fc9f25264a..7f60388c3e 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -7,7 +7,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.1.3
+ 3.1.5
@@ -40,7 +40,7 @@
${project.build.directory}/coverage-reports
${maven.build.timestamp}
yyyy-MM-dd HH:mm:ss
- 1.19.0
+ 1.19.1
5.9.1
1.9.1
${project.version}
@@ -151,7 +151,7 @@
com.github.tomakehurst
wiremock-jre8-standalone
- 2.35.1
+ 3.0.1
test
diff --git a/frontend/components.d.ts b/frontend/components.d.ts
index 4ab013aef2..50c8b77a26 100644
--- a/frontend/components.d.ts
+++ b/frontend/components.d.ts
@@ -13,18 +13,13 @@ declare module '@vue/runtime-core' {
AutoCompleteInputComponent: typeof import('./src/components/forms/AutoCompleteInputComponent.vue')['default']
ContactGroupComponent: typeof import('./src/components/grouping/ContactGroupComponent.vue')['default']
DataFetcher: typeof import('./src/components/DataFetcher.vue')['default']
- DisplayBlockComponent: typeof import('./src/components/visuals/DisplayBlockComponent.vue')['default']
DropdownInputComponent: typeof import('./src/components/forms/DropdownInputComponent.vue')['default']
ErrorNotificationGroupingComponent: typeof import('./src/components/grouping/ErrorNotificationGroupingComponent.vue')['default']
MainHeaderComponent: typeof import('./src/components/MainHeaderComponent.vue')['default']
MultiselectInputComponent: typeof import('./src/components/forms/MultiselectInputComponent.vue')['default']
- NoteComponent: typeof import('./src/components/NoteComponent.vue')['default']
RadioInputComponent: typeof import('./src/components/forms/RadioInputComponent.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
TextInputComponent: typeof import('./src/components/forms/TextInputComponent.vue')['default']
- WizardProgressIndicatorComponent: typeof import('./src/components/wizard/WizardProgressIndicatorComponent.vue')['default']
- WizardTabComponent: typeof import('./src/components/wizard/WizardTabComponent.vue')['default']
- WizardWrapperComponent: typeof import('./src/components/wizard/WizardWrapperComponent.vue')['default']
}
}
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 9ddebe0402..6c5d276e86 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -34,10 +34,10 @@
"@vitejs/plugin-vue": "^4.0.0",
"@vitest/coverage-istanbul": "^0.34.0",
"@vue/eslint-config-prettier": "^8.0.0",
- "@vue/eslint-config-typescript": "^11.0.0",
+ "@vue/eslint-config-typescript": "^12.0.0",
"@vue/test-utils": "^2.4.0",
"@vue/tsconfig": "^0.1.3",
- "cypress": "^13.2.0",
+ "cypress": "^13.3.2",
"eslint": "^8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-config-standard": "^17.1.0",
@@ -66,7 +66,7 @@
"vue-eslint-parser": "^9.3.1",
"vue-svg-loader": "^0.16.0",
"vue-tsc": "^1.8.1",
- "wiremock": "^2.35.0"
+ "wiremock": "^3.0.0"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -2824,9 +2824,9 @@
"dev": true
},
"node_modules/@types/semver": {
- "version": "7.5.1",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz",
- "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==",
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==",
"dev": true
},
"node_modules/@types/sinonjs__fake-timers": {
@@ -2868,16 +2868,16 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.6.0.tgz",
- "integrity": "sha512-CW9YDGTQnNYMIo5lMeuiIG08p4E0cXrXTbcZ2saT/ETE7dWUrNxlijsQeU04qAAKkILiLzdQz+cGFxCJjaZUmA==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.0.tgz",
+ "integrity": "sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.6.0",
- "@typescript-eslint/type-utils": "6.6.0",
- "@typescript-eslint/utils": "6.6.0",
- "@typescript-eslint/visitor-keys": "6.6.0",
+ "@typescript-eslint/scope-manager": "6.9.0",
+ "@typescript-eslint/type-utils": "6.9.0",
+ "@typescript-eslint/utils": "6.9.0",
+ "@typescript-eslint/visitor-keys": "6.9.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
@@ -3091,13 +3091,13 @@
"dev": true
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.6.0.tgz",
- "integrity": "sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz",
+ "integrity": "sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.6.0",
- "@typescript-eslint/visitor-keys": "6.6.0"
+ "@typescript-eslint/types": "6.9.0",
+ "@typescript-eslint/visitor-keys": "6.9.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -3108,13 +3108,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.6.0.tgz",
- "integrity": "sha512-8m16fwAcEnQc69IpeDyokNO+D5spo0w1jepWWY2Q6y5ZKNuj5EhVQXjtVAeDDqvW6Yg7dhclbsz6rTtOvcwpHg==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.0.tgz",
+ "integrity": "sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.6.0",
- "@typescript-eslint/utils": "6.6.0",
+ "@typescript-eslint/typescript-estree": "6.9.0",
+ "@typescript-eslint/utils": "6.9.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
},
@@ -3135,9 +3135,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.6.0.tgz",
- "integrity": "sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.0.tgz",
+ "integrity": "sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -3148,13 +3148,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.6.0.tgz",
- "integrity": "sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz",
+ "integrity": "sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.6.0",
- "@typescript-eslint/visitor-keys": "6.6.0",
+ "@typescript-eslint/types": "6.9.0",
+ "@typescript-eslint/visitor-keys": "6.9.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -3228,17 +3228,17 @@
"dev": true
},
"node_modules/@typescript-eslint/utils": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.6.0.tgz",
- "integrity": "sha512-mPHFoNa2bPIWWglWYdR0QfY9GN0CfvvXX1Sv6DlSTive3jlMTUy+an67//Gysc+0Me9pjitrq0LJp0nGtLgftw==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.0.tgz",
+ "integrity": "sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.6.0",
- "@typescript-eslint/types": "6.6.0",
- "@typescript-eslint/typescript-estree": "6.6.0",
+ "@typescript-eslint/scope-manager": "6.9.0",
+ "@typescript-eslint/types": "6.9.0",
+ "@typescript-eslint/typescript-estree": "6.9.0",
"semver": "^7.5.4"
},
"engines": {
@@ -3286,12 +3286,12 @@
"dev": true
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.6.0.tgz",
- "integrity": "sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ==",
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz",
+ "integrity": "sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.6.0",
+ "@typescript-eslint/types": "6.9.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
@@ -3541,14 +3541,14 @@
}
},
"node_modules/@vue/eslint-config-typescript": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz",
- "integrity": "sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-12.0.0.tgz",
+ "integrity": "sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/eslint-plugin": "^5.59.1",
- "@typescript-eslint/parser": "^5.59.1",
- "vue-eslint-parser": "^9.1.1"
+ "@typescript-eslint/eslint-plugin": "^6.7.0",
+ "@typescript-eslint/parser": "^6.7.0",
+ "vue-eslint-parser": "^9.3.1"
},
"engines": {
"node": "^14.17.0 || >=16.0.0"
@@ -3564,290 +3564,6 @@
}
}
},
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
- "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
- "dev": true,
- "dependencies": {
- "@eslint-community/regexpp": "^4.4.0",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/type-utils": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "natural-compare-lite": "^1.4.0",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^5.0.0",
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/parser": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
- "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
- "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/type-utils": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
- "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/typescript-estree": "5.62.0",
- "@typescript-eslint/utils": "5.62.0",
- "debug": "^4.3.4",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/types": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
- "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
- "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/visitor-keys": "5.62.0",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.3.7",
- "tsutils": "^3.21.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/utils": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
- "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@types/json-schema": "^7.0.9",
- "@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.62.0",
- "@typescript-eslint/types": "5.62.0",
- "@typescript-eslint/typescript-estree": "5.62.0",
- "eslint-scope": "^5.1.1",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
- "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/tsutils": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
- "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
- "dev": true,
- "dependencies": {
- "tslib": "^1.8.1"
- },
- "engines": {
- "node": ">= 6"
- },
- "peerDependencies": {
- "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- }
- },
- "node_modules/@vue/eslint-config-typescript/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/@vue/language-core": {
"version": "1.8.8",
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.8.tgz",
@@ -5637,9 +5353,9 @@
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/cypress": {
- "version": "13.2.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.2.0.tgz",
- "integrity": "sha512-AvDQxBydE771GTq0TR4ZUBvv9m9ffXuB/ueEtpDF/6gOcvFR96amgwSJP16Yhqw6VhmwqspT5nAGzoxxB+D89g==",
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.3.2.tgz",
+ "integrity": "sha512-ArLmZObcLC+xxCp7zJZZbhby9FUf5CueLej9dUM4+5j37FTS4iMSgHxQLDu01PydFUvDXcNoIVRCYrHHxD7Ybg==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -9639,12 +9355,6 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
- "node_modules/natural-compare-lite": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
- "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
- "dev": true
- },
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
@@ -13582,9 +13292,9 @@
}
},
"node_modules/wiremock": {
- "version": "2.35.0",
- "resolved": "https://registry.npmjs.org/wiremock/-/wiremock-2.35.0.tgz",
- "integrity": "sha512-SvbkyD9jZOvjwlPxwn+jLf0AIFXXYSTwHQwR9Qyvv3JVJeskdfeRFAuUUcCZ8MFCH1yRfqaLO35qmoShQ012OA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/wiremock/-/wiremock-3.2.0.tgz",
+ "integrity": "sha512-9s0vZpjuRICixKWyav/e8uGZyie8Sgk7FSvASH3XPHjpxaEEGmnxpcVJY1qVSCf637wjnYWEtLSn/N+TWT8TRA==",
"dev": true,
"dependencies": {
"npm-java-runner": "^1.0.2"
diff --git a/frontend/package.json b/frontend/package.json
index 064e2f00d4..5377a9aa05 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -67,10 +67,10 @@
"@vitejs/plugin-vue": "^4.0.0",
"@vitest/coverage-istanbul": "^0.34.0",
"@vue/eslint-config-prettier": "^8.0.0",
- "@vue/eslint-config-typescript": "^11.0.0",
+ "@vue/eslint-config-typescript": "^12.0.0",
"@vue/test-utils": "^2.4.0",
"@vue/tsconfig": "^0.1.3",
- "cypress": "^13.2.0",
+ "cypress": "^13.3.2",
"eslint": "^8.48.0",
"eslint-config-prettier": "^9.0.0",
"eslint-config-standard": "^17.1.0",
@@ -99,7 +99,7 @@
"vue-eslint-parser": "^9.3.1",
"vue-svg-loader": "^0.16.0",
"vue-tsc": "^1.8.1",
- "wiremock": "^2.35.0"
+ "wiremock": "^3.0.0"
},
"nyc": {
"check-coverage": true,
diff --git a/frontend/src/components/grouping/ContactGroupComponent.vue b/frontend/src/components/grouping/ContactGroupComponent.vue
index 5975c79951..62d617df34 100644
--- a/frontend/src/components/grouping/ContactGroupComponent.vue
+++ b/frontend/src/components/grouping/ContactGroupComponent.vue
@@ -195,6 +195,7 @@ const updateContactType = (value: CodeNameType | undefined) => {
diff --git a/frontend/src/helpers/validators/GlobalValidators.ts b/frontend/src/helpers/validators/GlobalValidators.ts
index b85f49c7bd..3e8bcb697a 100644
--- a/frontend/src/helpers/validators/GlobalValidators.ts
+++ b/frontend/src/helpers/validators/GlobalValidators.ts
@@ -341,7 +341,7 @@ export const validate = (
}
const result = condition.replace(targetGlobalRegex, "target.");
return result;
- }
+ };
const runValidation = (
item: any,
condition: string,
@@ -367,7 +367,9 @@ export const validate = (
(subItem: any) =>
runValidation(
subItem,
- buildEval(fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)),
+ buildEval(
+ fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)
+ ),
fieldKey.replace(".*.", `[${index}].`)
) === ""
);
@@ -376,7 +378,9 @@ export const validate = (
return (
runValidation(
item,
- buildEval(fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)),
+ buildEval(
+ fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)
+ ),
fieldKey.replace(".*.", `[${index}].`)
) === ""
);
@@ -409,13 +413,13 @@ export const runValidation = (
}
const result = condition.replace(targetGlobalRegex, "target.");
return result;
- }
+ };
const executeValidation = (
item: any,
condition: string,
fieldId: string = fieldKey
): string => {
- if (eval(condition)) {// NOSONAR
+ if (eval(condition)) { // NOSONAR
const validationResponse = validation(item);
if (notify) {
// Note: also notifies when valid - errorMsg will be empty.
@@ -439,7 +443,9 @@ export const runValidation = (
const valid =
executeValidation(
subItem,
- buildEval(fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)),
+ buildEval(
+ fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)
+ ),
fieldKey.replace(".*.", `[${index}].`)
) === "";
if (!valid) {
@@ -455,7 +461,9 @@ export const runValidation = (
const valid =
executeValidation(
item,
- buildEval(fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)),
+ buildEval(
+ fieldCondition.replace(arrayIndexGlobalRegex, `[${index}].`)
+ ),
fieldKey.replace(".*.", `[${index}].`)
) === "";
if (!valid) {
@@ -470,3 +478,7 @@ export const runValidation = (
// If the field value is not an array we run the validation for the field
return executeValidation(fieldValue, fieldCondition) === "";
};
+
+export const isNullOrUndefinedOrBlank = (
+ input: string | null | undefined
+): boolean => input === null || input === undefined || input.trim() === "";
diff --git a/frontend/src/pages/bceidform/ContactWizardStep.vue b/frontend/src/pages/bceidform/ContactWizardStep.vue
index f183b93d29..0cf5f2b87a 100644
--- a/frontend/src/pages/bceidform/ContactWizardStep.vue
+++ b/frontend/src/pages/bceidform/ContactWizardStep.vue
@@ -11,7 +11,10 @@ import type { FormDataDto, Contact } from "@/dto/ApplyClientNumberDto";
import { emptyContact } from "@/dto/ApplyClientNumberDto";
import type { CodeNameType, ModalNotification } from "@/dto/CommonTypesDto";
// Validators
-import { isUniqueDescriptive } from "@/helpers/validators/GlobalValidators";
+import {
+ isUniqueDescriptive,
+ isNullOrUndefinedOrBlank,
+} from "@/helpers/validators/GlobalValidators";
// @ts-ignore
import Add16 from "@carbon/icons-vue/es/add/16";
@@ -112,10 +115,11 @@ watch([validation], () => emit("valid", checkValid()));
emit("valid", false);
const handleRemove = (index: number) => {
- const selectedContact =
- formData.location.contacts[index].firstName.length !== 0
- ? `${formData.location.contacts[index].firstName} ${formData.location.contacts[index].lastName}`
- : "Contact #" + index;
+ const selectedContact = !isNullOrUndefinedOrBlank(
+ formData.location.contacts[index].firstName
+ )
+ ? `${formData.location.contacts[index].firstName} ${formData.location.contacts[index].lastName}`
+ : "Contact #" + index;
bus.emit({
message: selectedContact,
kind: "Contact deleted",
diff --git a/frontend/tests/components/components/grouping/AddressGroupComponent.cy.ts b/frontend/tests/components/components/grouping/AddressGroupComponent.cy.ts
index 54c5f6c428..1e561e55e5 100644
--- a/frontend/tests/components/components/grouping/AddressGroupComponent.cy.ts
+++ b/frontend/tests/components/components/grouping/AddressGroupComponent.cy.ts
@@ -183,7 +183,7 @@ describe("", () => {
.find("label")
.and("include.text", "Postal code");
- // wait for the option's inner, standard HTML element to exist before clicking the combo-box
+ // Wait for the option's inner, standard HTML element to exist before clicking the combo-box
cy.get("#country_0")
.find('cds-combo-box-item[data-id="US"]')
.shadow()
@@ -196,6 +196,7 @@ describe("", () => {
cy.get("#country_0")
.find('cds-combo-box-item[data-id="US"]')
+ .should("be.visible")
.click()
.and("have.value", "United States of America");
@@ -209,6 +210,7 @@ describe("", () => {
.and("have.value", "")
.click()
.find('cds-combo-box-item[data-id="IL"]')
+ .should("be.visible")
.click()
.and("have.value", "Illinois");
diff --git a/frontend/tests/unittests/pages/bceidform/ContactWizardStep.spec.ts b/frontend/tests/unittests/pages/bceidform/ContactWizardStep.spec.ts
new file mode 100644
index 0000000000..8e8cc84f37
--- /dev/null
+++ b/frontend/tests/unittests/pages/bceidform/ContactWizardStep.spec.ts
@@ -0,0 +1,51 @@
+import { mount } from "@vue/test-utils";
+import { describe, it, expect } from "vitest";
+import ContactWizardStep from "@/pages/bceidform/ContactWizardStep.vue";
+import { emptyContact } from "@/dto/ApplyClientNumberDto";
+import { useEventBus } from "@vueuse/core";
+import type { ModalNotification } from "@/dto/CommonTypesDto";
+import type { Contact, FormDataDto } from "@/dto/ApplyClientNumberDto";
+
+describe("ContactWizardStep.vue", () => {
+ describe("when contact's firstName is null", () => {
+ it("emits the confirmation event properly when Delete contact is clicked", async () => {
+ const wrapper = mount(ContactWizardStep, {
+ props: {
+ data: {
+ location: {
+ addresses: [],
+ contacts: [
+ {
+ ...emptyContact,
+ firstName: "John",
+ lastName: "Doe",
+ } as Contact,
+ // And here is the contact to be deleted
+ {
+ ...emptyContact,
+ firstName: null,
+ lastName: null,
+ } as unknown as Contact,
+ ],
+ },
+ } as unknown as FormDataDto,
+ active: false,
+ },
+ });
+
+ const bus = useEventBus("modal-notification");
+
+ let payload: ModalNotification;
+ bus.on((_payload) => {
+ payload = _payload;
+ });
+
+ await wrapper.find("#deleteContact_1").trigger("click");
+
+ expect(payload!).toMatchObject({
+ message: "Contact #1",
+ kind: "Contact deleted",
+ });
+ });
+ });
+});
diff --git a/legacy/pom.xml b/legacy/pom.xml
index 643f9944e6..6f16021227 100644
--- a/legacy/pom.xml
+++ b/legacy/pom.xml
@@ -7,7 +7,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.1.3
+ 3.1.5
@@ -44,7 +44,7 @@
${maven.build.timestamp}
yyyy-MM-dd HH:mm:ss
- 1.19.0
+ 1.19.1
5.9.1
1.9.1
@@ -136,7 +136,7 @@
org.testcontainers
oracle-xe
- 1.19.0
+ 1.19.1
test
@@ -152,7 +152,7 @@
com.github.tomakehurst
wiremock-jre8-standalone
- 2.35.1
+ 3.0.1
test
diff --git a/processor/pom.xml b/processor/pom.xml
index 260f458f44..8cdf9afe66 100644
--- a/processor/pom.xml
+++ b/processor/pom.xml
@@ -6,7 +6,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.1.3
+ 3.1.5
@@ -43,7 +43,7 @@
${maven.build.timestamp}
yyyy-MM-dd HH:mm:ss
- 1.19.0
+ 1.19.1
5.9.1
1.9.1
@@ -140,7 +140,7 @@
org.testcontainers
oracle-xe
- 1.19.0
+ 1.19.1
test