Skip to content

Commit f0b3daf

Browse files
shon-buttonandrea-williams
authored andcommitted
fix: preserve boolean capture_emissions in transformReportAdditionalData
1 parent c59eca2 commit f0b3daf

2 files changed

Lines changed: 43 additions & 1 deletion

File tree

bciers/apps/reporting/src/app/components/additionalInformation/additionalReportingData/AdditionalReportingDataPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export function transformReportAdditionalData(reportAdditionalData: any) {
2626
return {
2727
captured_emissions_section: {
2828
capture_type: captureType,
29-
capture_emissions: !!captureType.length,
29+
capture_emissions: reportAdditionalData.capture_emissions ?? null,
3030
emissions_on_site_use: reportAdditionalData.emissions_on_site_use || null,
3131
emissions_on_site_sequestration:
3232
reportAdditionalData.emissions_on_site_sequestration || null,

bciers/apps/reporting/src/tests/components/additionalInformation/AdditionalReportingData.test.tsx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,46 @@ describe("AdditionalReportingData Component", () => {
117117
await waitFor(() => expect(actionHandler).toHaveBeenCalled());
118118
expect(mockPush).toHaveBeenCalledWith(`continue`);
119119
});
120+
121+
it("renders No selected when initialFormData.capture_emissions is false", async () => {
122+
render(
123+
<AdditionalReportingDataForm
124+
versionId={versionId}
125+
includeElectricityGenerated={false}
126+
initialFormData={{
127+
captured_emissions_section: {
128+
capture_emissions: false,
129+
},
130+
}}
131+
navigationInformation={dummyNavigationInformation}
132+
/>,
133+
);
134+
135+
const yesRadioButton = await screen.findByLabelText("Yes");
136+
const noRadioButton = await screen.findByLabelText("No");
137+
138+
expect(noRadioButton).toBeChecked();
139+
expect(yesRadioButton).not.toBeChecked();
140+
});
141+
142+
it("renders Yes selected when initialFormData.capture_emissions is true", async () => {
143+
render(
144+
<AdditionalReportingDataForm
145+
versionId={versionId}
146+
includeElectricityGenerated={false}
147+
initialFormData={{
148+
captured_emissions_section: {
149+
capture_emissions: true,
150+
},
151+
}}
152+
navigationInformation={dummyNavigationInformation}
153+
/>,
154+
);
155+
156+
const yesRadioButton = await screen.findByLabelText("Yes");
157+
const noRadioButton = await screen.findByLabelText("No");
158+
159+
expect(yesRadioButton).toBeChecked();
160+
expect(noRadioButton).not.toBeChecked();
161+
});
120162
});

0 commit comments

Comments
 (0)