+
{
@update:selected-value="updateClientType($event)"
@empty="validation.type = !$event"
/>
+
+
+
+
+
+
diff --git a/frontend/src/pages/staffform/CombinedClientInformationWizardStep.vue b/frontend/src/pages/staffform/CombinedClientInformationWizardStep.vue
new file mode 100644
index 0000000000..e30581ad81
--- /dev/null
+++ b/frontend/src/pages/staffform/CombinedClientInformationWizardStep.vue
@@ -0,0 +1,116 @@
+
+
+
+ [
+ ["", true, "not required"],
+ ["AT&T", true],
+ ["Acronym with more than 30 characters", false],
+ ["1", false],
+ ]).forEach((scenario) => {
+ test(formDataDto, key, setter, scenario);
+ });
+ });
+
+ describe.each(["businessInformation.workSafeBcNumber"])("%s", (key) => {
+ const formDataDto = newFormDataDto();
+ const setter = (value: string) => {
+ formDataDto.businessInformation.workSafeBcNumber = value;
+ };
+ ([
+ ["", true, "not required"],
+ ["123456", true],
+ ["0123456789", false],
+ ["Invalid Work Safe BC Number", false],
+ ]).forEach((scenario) => {
+ test(formDataDto, key, setter, scenario);
+ });
+ });
+
describe.each(["businessInformation.lastName"])("%s", (key) => {
const formDataDto = newFormDataDto();
const setter = (value: string) => {
@@ -459,12 +497,14 @@ const submit = () => {
:business-name="formData.businessInformation.businessName"
/>
+
{{ progressData[0].title}}
+
+
+
+
+
+
+
+
diff --git a/frontend/src/pages/staffform/FirstNationClientInformationWizardStep.vue b/frontend/src/pages/staffform/FirstNationClientInformationWizardStep.vue
new file mode 100644
index 0000000000..d7ffe1ea92
--- /dev/null
+++ b/frontend/src/pages/staffform/FirstNationClientInformationWizardStep.vue
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+ Loading first nation details...
+
+
+
+
+
+
+
diff --git a/frontend/stub/__files/response-opendata-autocomplete.json b/frontend/stub/__files/response-opendata-autocomplete.json
index 2182d2f798..97d834c8fd 100644
--- a/frontend/stub/__files/response-opendata-autocomplete.json
+++ b/frontend/stub/__files/response-opendata-autocomplete.json
@@ -3,6 +3,7 @@
"name": "Squamish Nation",
"id": "555",
"goodStanding": true,
+ "clientType": "B",
"addresses": [
{
"streetAddress": "320 Seymour Boulevard",
@@ -14,7 +15,7 @@
},
"province": {
"value": "BC",
- "text": null
+ "text": "British Columbia"
},
"city": "NORTH VANCOUVER",
"postalCode": "V7L4J5",
@@ -33,7 +34,16 @@
"name": "Webequie",
"id": "240",
"goodStanding": true,
+ "clientType": "B",
+ "addresses": [],
+ "contacts": []
+ },
+ {
+ "name": "Atikamekw Sipi - Conseil de la Nation Atikamekw",
+ "id": "272501",
+ "goodStanding": true,
+ "clientType": "T",
"addresses": [],
"contacts": []
}
-]
\ No newline at end of file
+]
diff --git a/frontend/tests/unittests/helpers/validators/StaffFormValidations.spec.ts b/frontend/tests/unittests/helpers/validators/StaffFormValidations.spec.ts
index e5b9e2102d..0676c4cba6 100644
--- a/frontend/tests/unittests/helpers/validators/StaffFormValidations.spec.ts
+++ b/frontend/tests/unittests/helpers/validators/StaffFormValidations.spec.ts
@@ -78,6 +78,36 @@ describe("validations", () => {
});
});
+ describe.each(["businessInformation.clientAcronym"])("%s", (key) => {
+ const formDataDto = newFormDataDto();
+ const setter = (value: string) => {
+ formDataDto.businessInformation.clientAcronym = value;
+ };
+ (