Skip to content

Commit 8df61a1

Browse files
authored
Merge pull request #1973 from bcgov/bugfix/ALCS-2372
Fix NOI structure questions disappearing
2 parents e9b5148 + beb1314 commit 8df61a1

File tree

2 files changed

+29
-17
lines changed

2 files changed

+29
-17
lines changed

portal-frontend/src/app/features/notice-of-intents/edit-submission/additional-information/additional-information.component.spec.ts

+16-5
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ describe('AdditionalInformationComponent', () => {
149149
const mockFilledSubmission: NoticeOfIntentSubmissionDetailedDto = {
150150
...emptySubmission,
151151
soilIsRemovingSoilForNewStructure: true,
152-
soilStructureFarmUseReason: 'soilStructureFarmUseReason',
153152
soilStructureResidentialUseReason: 'soilStructureResidentialUseReason',
154153
soilProposedStructures: [
155154
{
@@ -166,9 +165,12 @@ describe('AdditionalInformationComponent', () => {
166165

167166
expect(component.form.controls.isRemovingSoilForNewStructure.value).toEqual('true');
168167
expect(component.form.controls.soilStructureFarmUseReason.value).toEqual(null);
168+
expect(component.form.controls.soilAgriParcelActivity.value).toEqual(null);
169169
expect(component.form.controls.soilStructureResidentialUseReason.value).toEqual(
170170
'soilStructureResidentialUseReason',
171171
);
172+
expect(component.form.controls.soilStructureResidentialAccessoryUseReason.value).toEqual(null);
173+
expect(component.form.controls.soilStructureOtherUseReason.value).toEqual(null);
172174
expect(Object.values(component.structuresForm.controls).length).toEqual(2);
173175
expect(component.isSoilStructureResidentialUseReasonVisible).toBeTruthy();
174176
expect(component.isSoilAgriParcelActivityVisible).toBeFalsy();
@@ -181,7 +183,7 @@ describe('AdditionalInformationComponent', () => {
181183
...emptySubmission,
182184
soilIsRemovingSoilForNewStructure: true,
183185
soilStructureFarmUseReason: 'soilStructureFarmUseReason',
184-
soilStructureResidentialUseReason: 'soilStructureResidentialUseReason',
186+
soilAgriParcelActivity: 'soilAgriParcelActivity',
185187
soilProposedStructures: [
186188
{
187189
type: STRUCTURE_TYPES.FARM_STRUCTURE,
@@ -197,7 +199,10 @@ describe('AdditionalInformationComponent', () => {
197199

198200
expect(component.form.controls.isRemovingSoilForNewStructure.value).toEqual('true');
199201
expect(component.form.controls.soilStructureFarmUseReason.value).toEqual('soilStructureFarmUseReason');
202+
expect(component.form.controls.soilAgriParcelActivity.value).toEqual('soilAgriParcelActivity');
200203
expect(component.form.controls.soilStructureResidentialUseReason.value).toEqual(null);
204+
expect(component.form.controls.soilStructureResidentialAccessoryUseReason.value).toEqual(null);
205+
expect(component.form.controls.soilStructureOtherUseReason.value).toEqual(null);
201206
expect(component.isSoilStructureResidentialUseReasonVisible).toBeFalsy();
202207
expect(component.isSoilAgriParcelActivityVisible).toBeTruthy();
203208
expect(component.isSoilOtherUseReasonVisible).toBeFalsy();
@@ -208,8 +213,7 @@ describe('AdditionalInformationComponent', () => {
208213
const mockFilledSubmission: NoticeOfIntentSubmissionDetailedDto = {
209214
...emptySubmission,
210215
soilIsRemovingSoilForNewStructure: true,
211-
soilStructureFarmUseReason: 'soilStructureFarmUseReason',
212-
soilStructureResidentialUseReason: 'soilStructureResidentialUseReason',
216+
soilStructureOtherUseReason: 'soilStructureOtherUseReason',
213217
soilProposedStructures: [
214218
{
215219
type: STRUCTURE_TYPES.OTHER_STRUCTURE,
@@ -225,7 +229,9 @@ describe('AdditionalInformationComponent', () => {
225229

226230
expect(component.form.controls.isRemovingSoilForNewStructure.value).toEqual('true');
227231
expect(component.form.controls.soilStructureFarmUseReason.value).toEqual(null);
232+
expect(component.form.controls.soilAgriParcelActivity.value).toEqual(null);
228233
expect(component.form.controls.soilStructureResidentialUseReason.value).toEqual(null);
234+
expect(component.form.controls.soilStructureOtherUseReason.value).toEqual('soilStructureOtherUseReason');
229235
expect(component.isSoilStructureResidentialUseReasonVisible).toBeFalsy();
230236
expect(component.isSoilAgriParcelActivityVisible).toBeFalsy();
231237
expect(component.isSoilOtherUseReasonVisible).toBeTruthy();
@@ -236,7 +242,7 @@ describe('AdditionalInformationComponent', () => {
236242
const mockFilledSubmission: NoticeOfIntentSubmissionDetailedDto = {
237243
...emptySubmission,
238244
soilIsRemovingSoilForNewStructure: true,
239-
soilStructureFarmUseReason: 'soilStructureFarmUseReason',
245+
soilStructureResidentialAccessoryUseReason: 'soilStructureResidentialAccessoryUseReason',
240246
soilStructureResidentialUseReason: 'soilStructureResidentialUseReason',
241247
soilProposedStructures: [
242248
{
@@ -253,9 +259,14 @@ describe('AdditionalInformationComponent', () => {
253259

254260
expect(component.form.controls.isRemovingSoilForNewStructure.value).toEqual('true');
255261
expect(component.form.controls.soilStructureFarmUseReason.value).toEqual(null);
262+
expect(component.form.controls.soilAgriParcelActivity.value).toEqual(null);
256263
expect(component.form.controls.soilStructureResidentialUseReason.value).toEqual(
257264
'soilStructureResidentialUseReason',
258265
);
266+
expect(component.form.controls.soilStructureResidentialAccessoryUseReason.value).toEqual(
267+
'soilStructureResidentialAccessoryUseReason',
268+
);
269+
expect(component.form.controls.soilStructureOtherUseReason.value).toEqual(null);
259270
expect(component.isSoilStructureResidentialUseReasonVisible).toBeTruthy();
260271
expect(component.isSoilAgriParcelActivityVisible).toBeFalsy();
261272
expect(component.isSoilOtherUseReasonVisible).toBeFalsy();

portal-frontend/src/app/features/notice-of-intents/edit-submission/additional-information/additional-information.component.ts

+13-12
Original file line numberDiff line numberDiff line change
@@ -162,15 +162,6 @@ export class AdditionalInformationComponent extends FilesStepComponent implement
162162
this.confirmRemovalOfSoil = true;
163163
}
164164

165-
this.form.patchValue({
166-
isRemovingSoilForNewStructure: formatBooleanToString(noiSubmission.soilIsRemovingSoilForNewStructure),
167-
soilStructureFarmUseReason: noiSubmission.soilStructureFarmUseReason,
168-
soilStructureResidentialUseReason: noiSubmission.soilStructureResidentialUseReason,
169-
soilAgriParcelActivity: noiSubmission.soilAgriParcelActivity,
170-
soilStructureResidentialAccessoryUseReason: noiSubmission.soilStructureResidentialAccessoryUseReason,
171-
soilStructureOtherUseReason: noiSubmission.soilStructureOtherUseReason,
172-
});
173-
174165
this.structuresForm = new FormGroup({});
175166
this.proposedStructures = [];
176167
for (const structure of noiSubmission.soilProposedStructures) {
@@ -182,6 +173,15 @@ export class AdditionalInformationComponent extends FilesStepComponent implement
182173
this.structuresSource = new MatTableDataSource(this.proposedStructures);
183174
this.prepareStructureSpecificTextInputs();
184175

176+
this.form.patchValue({
177+
isRemovingSoilForNewStructure: formatBooleanToString(noiSubmission.soilIsRemovingSoilForNewStructure),
178+
soilStructureFarmUseReason: noiSubmission.soilStructureFarmUseReason,
179+
soilStructureResidentialUseReason: noiSubmission.soilStructureResidentialUseReason,
180+
soilAgriParcelActivity: noiSubmission.soilAgriParcelActivity,
181+
soilStructureResidentialAccessoryUseReason: noiSubmission.soilStructureResidentialAccessoryUseReason,
182+
soilStructureOtherUseReason: noiSubmission.soilStructureOtherUseReason,
183+
});
184+
185185
if (this.showErrors) {
186186
this.structuresForm.markAllAsTouched();
187187
this.form.markAllAsTouched();
@@ -349,9 +349,10 @@ export class AdditionalInformationComponent extends FilesStepComponent implement
349349
}
350350
}
351351

352-
private setStructureTypeInput(structure: FormProposedStructure, value: STRUCTURE_TYPES) {
353-
structure.type = value;
352+
private setStructureTypeInput(structure: FormProposedStructure, newType: STRUCTURE_TYPES) {
353+
structure.type = newType;
354354
this.prepareStructureSpecificTextInputs();
355+
this.structuresForm.get(`${structure.id}-type`)?.setValue(newType);
355356
this.form.markAsDirty();
356357
}
357358

@@ -505,7 +506,7 @@ export class AdditionalInformationComponent extends FilesStepComponent implement
505506
return item.type === STRUCTURE_TYPES.PRINCIPAL_RESIDENCE || item.type === STRUCTURE_TYPES.ADDITIONAL_RESIDENCE;
506507
}
507508

508-
private addControl(area: number | null = null) {
509+
private addControl(area: number | null = null): FormProposedStructure {
509510
const areaStr = area ? area.toString(10) : null;
510511
const newStructure: FormProposedStructure = { type: null, area: areaStr, id: v4() };
511512
this.proposedStructures.push(newStructure);

0 commit comments

Comments
 (0)