From 671719cac613f3847fd96f0985d5af3068dc7170 Mon Sep 17 00:00:00 2001 From: Daniel Gading <2748839+dgading@users.noreply.github.com> Date: Wed, 25 Mar 2026 14:09:40 -0400 Subject: [PATCH 1/5] 534ez add 2025 section 9 --- .../pdf_fill/sections/V2025/section_09.rb | 146 +++++++++++++++++- 1 file changed, 145 insertions(+), 1 deletion(-) diff --git a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb index b730fa7ae31c..563c7be25fa5 100644 --- a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb +++ b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb @@ -7,10 +7,154 @@ module PdfFill module V2025 # Section IX: Income And Assets (current income entries) class Section9 < Section - KEY = {}.freeze + include ::PdfFill::Forms::FormHelper + include Helpers + KEY = { + 'p15HeaderVeteranSocialSecurityNumber' => { + 'first' => { + key: 'form1[0].#subform[160].VeteransSocialSecurityNumber_FirstThreeNumbers[5]' + }, + 'second' => { + key: 'form1[0].#subform[160].VeteransSocialSecurityNumber_SecondTwoNumbers[5]' + }, + 'third' => { + key: 'form1[0].#subform[160].VeteransSocialSecurityNumber_LastFourNumbers[5]' + } + }, + 'totalNetWorthYes' => { key: 'form1[0].#subform[156].Checkboxyes[0]' }, + 'totalNetWorthNo' => { key: 'form1[0].#subform[156].CheckboxNO[1]' }, + 'netWorthEstimation' => { key: 'form1[0].#subform[156].Routing_Or_Transit_Number[3]' }, + 'transferredAssetsYes' => { key: 'form1[0].#subform[156].Checkboxyes[1]' }, + 'transferredAssetsNo' => { key: 'form1[0].#subform[156].Checkboxno[0]' }, + 'homeOwnershipYes' => { key: 'form1[0].#subform[156].Checkboxyes[2]' }, + 'homeOwnershipNo' => { key: 'form1[0].#subform[156].Checkboxno[1]' }, + 'homeAcreageMoreThanTwoYes' => { key: 'form1[0].#subform[156].Checkboxyes[3]' }, + 'homeAcreageMoreThanTwoNo' => { key: 'form1[0].#subform[156].Checkboxno[2]' }, + 'homeAcreageValue' => { key: 'form1[0].#subform[156].Routing_Or_Transit_Number[4]' }, + 'landMarketableYes' => { key: 'form1[0].#subform[156].Checkboxyes[4]' }, + 'landMarketableNo' => { key: 'form1[0].#subform[156].Checkboxno[3]' }, + 'moreThanFourIncomeSources' => { key: 'form1[0].#subform[160].RadioButtonList[29]' }, + 'noIncome' => { key: 'form1[0].#subform[156].JF06[3]' }, + 'oneToFour' => { key: 'form1[0].#subform[156].JF14[3]' }, + 'fivePlus' => { key: 'form1[0].#subform[156].JF08[3]' }, + 'otherIncome' => { key: 'form1[0].#subform[160].RadioButtonList[32]' }, + 'otherIncomeYes' => { key: 'form1[0].#subform[156].Checkboxyes[5]' }, + 'otherIncomeNo' => { key: 'form1[0].#subform[156].Checkboxno[4]' }, + 'incomeEntryOne' => { + 'survivingSpouse' => { key: 'form1[0].#subform[160].Surviving_Spouse[0]' }, + 'custodian' => { key: 'form1[0].#subform[160].Surviving_Spouse[1]' }, + 'child' => { key: 'form1[0].#subform[160].Child_Specify[0]' }, + 'custodianSpouse' => { key: 'form1[0].#subform[160].Child_Specify[1]' }, + 'recipientName' => { key: 'form1[0].#subform[160].Name_Of_Child[0]' }, + 'socialSecurity' => { key: 'form1[0].#subform[160].Social_Security[0]' }, + 'interestDividends' => { key: 'form1[0].#subform[160].Interest_Dividends[0]' }, + 'civilService' => { key: 'form1[0].#subform[160].Civil_Service[0]' }, + 'pensionRetirement' => { key: 'form1[0].#subform[160].Pension_Retirement[0]' }, + 'other' => { key: 'form1[0].#subform[160].Other_Specify_Type_Of_Income[0]' }, + 'incomeTypeOther' => { key: 'form1[0].#subform[160].Specify_Type_Of_Income[3]' }, + 'incomePayer' => { key: 'form1[0].#subform[160].Income_Payer[0]' }, + 'monthlyIncome' => { key: 'form1[0].#subform[160].VETERANS_SERVICE_NUMBER[1]' } + }, + 'incomeEntryTwo' => { + 'survivingSpouse' => { key: 'form1[0].#subform[160].Surviving_Spouse[2]' }, + 'custodian' => { key: 'form1[0].#subform[160].Surviving_Spouse[3]' }, + 'child' => { key: 'form1[0].#subform[160].Child_Specify[2]' }, + 'custodianSpouse' => { key: 'form1[0].#subform[160].Child_Specify[3]' }, + 'recipientName' => { key: 'form1[0].#subform[160].Name_Of_Child[1]' }, + 'socialSecurity' => { key: 'form1[0].#subform[160].Social_Security[1]' }, + 'interestDividends' => { key: 'form1[0].#subform[160].Interest_Dividends[1]' }, + 'civilService' => { key: 'form1[0].#subform[160].Civil_Service[1]' }, + 'pensionRetirement' => { key: 'form1[0].#subform[160].Pension_Retirement[1]' }, + 'other' => { key: 'form1[0].#subform[160].Other_Specify_Type_Of_Income[1]' }, + 'incomeTypeOther' => { key: 'form1[0].#subform[160].Specify_Type_Of_Income[0]' }, + 'incomePayer' => { key: 'form1[0].#subform[160].Income_Payer[1]' }, + 'monthlyIncome' => { key: 'form1[0].#subform[160].VETERANS_SERVICE_NUMBER[2]' } + }, + 'incomeEntryThree' => { + 'survivingSpouse' => { key: 'form1[0].#subform[160].Surviving_Spouse[4]' }, + 'custodian' => { key: 'form1[0].#subform[160].Surviving_Spouse[5]' }, + 'child' => { key: 'form1[0].#subform[160].Child_Specify[4]' }, + 'custodianSpouse' => { key: 'form1[0].#subform[160].Child_Specify[5]' }, + 'recipientName' => { key: 'form1[0].#subform[160].Name_Of_Child[2]' }, + 'socialSecurity' => { key: 'form1[0].#subform[160].Social_Security[2]' }, + 'interestDividends' => { key: 'form1[0].#subform[160].Interest_Dividend[0]' }, + 'civilService' => { key: 'form1[0].#subform[160].Civil_Service[2]' }, + 'pensionRetirement' => { key: 'form1[0].#subform[160].Pension_Retirement[2]' }, + 'other' => { key: 'form1[0].#subform[160].Other_Type_Of_Income[0]' }, + 'incomeTypeOther' => { key: 'form1[0].#subform[160].Specify_Type_Of_Income[1]' }, + 'incomePayer' => { key: 'form1[0].#subform[160].Income_Payer[2]' }, + 'monthlyIncome' => { key: 'form1[0].#subform[160].VETERANS_SERVICE_NUMBER[3]' } + }, + 'incomeEntryFour' => { + 'survivingSpouse' => { key: 'form1[0].#subform[160].Surviving_Spouse[6]' }, + 'custodian' => { key: 'form1[0].#subform[160].Surviving_Spouse[7]' }, + 'child' => { key: 'form1[0].#subform[160].Child_Specify[6]' }, + 'custodianSpouse' => { key: 'form1[0].#subform[160].Child_Specify[7]' }, + 'recipientName' => { key: 'form1[0].#subform[160].Name_Of_Child[3]' }, + 'socialSecurity' => { key: 'form1[0].#subform[160].Social_Security[3]' }, + 'interestDividends' => { key: 'form1[0].#subform[160].Interest_Dividends[2]' }, + 'civilService' => { key: 'form1[0].#subform[160].Civil_Service[3]' }, + 'pensionRetirement' => { key: 'form1[0].#subform[160].Pension_Retirement[3]' }, + 'other' => { key: 'form1[0].#subform[160].Other_Specify_Type_Of_Income[2]' }, + 'incomeTypeOther' => { key: 'form1[0].#subform[160].Specify_Type_Of_Income[2]' }, + 'incomePayer' => { key: 'form1[0].#subform[160].Income_Payer[3]' }, + 'monthlyIncome' => { key: 'form1[0].#subform[160].VETERANS_SERVICE_NUMBER[4]' } + } + }.freeze def expand(form_data = {}) + form_data['p15HeaderVeteranSocialSecurityNumber'] = split_ssn(form_data['veteranSocialSecurityNumber']) + + form_data['totalNetWorthYes'] = form_data['totalNetWorth'] ? '1' : 'Off' + form_data['totalNetWorthNo'] = form_data['totalNetWorth'] ? 'Off' : '1' + form_data['transferredAssetsYes'] = form_data['transferredAssets'] ? '1' : 'Off' + form_data['transferredAssetsNo'] = form_data['transferredAssets'] ? 'Off' : '1' + form_data['homeOwnershipYes'] = form_data['homeOwnership'] ? '1' : 'Off' + form_data['homeOwnershipNo'] = form_data['homeOwnership'] ? 'Off' : '1' + form_data['homeAcreageMoreThanTwoYes'] = form_data['homeAcreageMoreThanTwo'] ? '1' : 'Off' + form_data['homeAcreageMoreThanTwoNo'] = form_data['homeAcreageMoreThanTwo'] ? 'Off' : '1' + form_data['landMarketableYes'] = form_data['landMarketable'] ? '1' : 'Off' + form_data['landMarketableNo'] = form_data['landMarketable'] ? 'Off' : '1' + + expand_income_entries(form_data) + + # TODO: figure out key from frontend, using incomeSources as placeholder + form_data['noIncome'] = form_data['incomeSources'] == 'none' ? '1' : 'Off' + form_data['oneToFour'] = form_data['incomeSources'] == 'underFive' ? '1' : 'Off' + form_data['fivePlus'] = form_data['incomeSources'] == 'overFive' ? '1' : 'Off' + + form_data['otherIncomeYes'] = form_data['otherIncome'] ? '1' : 'Off' + form_data['otherIncomeNo'] = form_data['otherIncome'] ? 'Off' : '1' + form_data end + + private + + def expand_entry(entry = {}) + entry.merge({ + 'survivingSpouse' => entry['recipient'] == 'SURVIVING_SPOUSE' ? '1' : 'Off', + 'custodian' => entry['recipient'] == 'CUSTODIAN' ? '1' : 'Off', + 'child' => entry['recipient'] == 'CHILD' ? '1' : 'Off', + 'custodianSpouse' => entry['recipient'] == 'CUSTODIAN_SPOUSE' ? '1' : 'Off', + 'recipientName' => entry['recipientName'], + 'socialSecurity' => entry['incomeType'] == 'SOCIAL_SECURITY' ? '1' : 'Off', + 'interestDividends' => entry['incomeType'] == 'INTEREST_DIVIDENDS' ? '1' : 'Off', + 'civilService' => entry['incomeType'] == 'CIVIL_SERVICE' ? '1' : 'Off', + 'pensionRetirement' => entry['incomeType'] == 'PENSION_RETIREMENT' ? '1' : 'Off', + 'other' => entry['incomeType'] == 'OTHER' ? '1' : 'Off', + 'incomeTypeOther' => entry['incomeTypeOther'], + 'incomePayer' => entry['incomePayer'], + 'monthlyIncome' => entry['monthlyIncome'] + }) + end + + def expand_income_entries(form_data) + entries = Array(form_data['incomeEntries']).map { |entry| expand_entry(entry) } + form_data['incomeEntryOne'] = entries.first || {} + form_data['incomeEntryTwo'] = entries.second || {} + form_data['incomeEntryThree'] = entries.third || {} + form_data['incomeEntryFour'] = entries.fourth || {} + end end end end From 477eee8104a8d483f20a0757da6f439bb6409d53 Mon Sep 17 00:00:00 2001 From: Daniel Gading <2748839+dgading@users.noreply.github.com> Date: Fri, 27 Mar 2026 12:49:44 -0400 Subject: [PATCH 2/5] Update income sources and copy tests --- .../pdf_fill/sections/V2025/section_09.rb | 7 +- .../output/V2025/21P-534EZ_section-9.json | 76 ++++++++++++++++++- .../output/V2025/21P-534EZ_section-9_1.json | 55 +++++++++++++- .../output/V2025/21P-534EZ_section-9_2.json | 54 ++++++++++++- .../output/V2025/21P-534EZ_section-9_3.json | 54 ++++++++++++- .../output/V2025/21P-534EZ_section-9_4.json | 54 ++++++++++++- 6 files changed, 291 insertions(+), 9 deletions(-) diff --git a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb index 563c7be25fa5..ccbbea1fc9eb 100644 --- a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb +++ b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb @@ -33,7 +33,6 @@ class Section9 < Section 'homeAcreageValue' => { key: 'form1[0].#subform[156].Routing_Or_Transit_Number[4]' }, 'landMarketableYes' => { key: 'form1[0].#subform[156].Checkboxyes[4]' }, 'landMarketableNo' => { key: 'form1[0].#subform[156].Checkboxno[3]' }, - 'moreThanFourIncomeSources' => { key: 'form1[0].#subform[160].RadioButtonList[29]' }, 'noIncome' => { key: 'form1[0].#subform[156].JF06[3]' }, 'oneToFour' => { key: 'form1[0].#subform[156].JF14[3]' }, 'fivePlus' => { key: 'form1[0].#subform[156].JF08[3]' }, @@ -118,9 +117,9 @@ def expand(form_data = {}) expand_income_entries(form_data) # TODO: figure out key from frontend, using incomeSources as placeholder - form_data['noIncome'] = form_data['incomeSources'] == 'none' ? '1' : 'Off' - form_data['oneToFour'] = form_data['incomeSources'] == 'underFive' ? '1' : 'Off' - form_data['fivePlus'] = form_data['incomeSources'] == 'overFive' ? '1' : 'Off' + form_data['noIncome'] = form_data['moreThanFourIncomeSources'] == 'NO_INCOME' ? '1' : 'Off' + form_data['oneToFour'] = form_data['moreThanFourIncomeSources'] == 'ONE_TO_FOUR_SOURCES' ? '1' : 'Off' + form_data['fivePlus'] = form_data['moreThanFourIncomeSources'] == 'MORE_THAN_FIVE_SOURCES' ? '1' : 'Off' form_data['otherIncomeYes'] = form_data['otherIncome'] ? '1' : 'Off' form_data['otherIncomeNo'] = form_data['otherIncome'] ? 'Off' : '1' diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json index 0967ef424bce..5ee9536a862c 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json @@ -1 +1,75 @@ -{} +{ + "form1[0].#subform[156].Checkboxyes[0]": "1", + "form1[0].#subform[156].CheckboxNO[1]": "Off", + "form1[0].#subform[156].Routing_Or_Transit_Number[3]": 78550.75, + "form1[0].#subform[156].Checkboxyes[1]": "1", + "form1[0].#subform[156].Checkboxno[0]": "Off", + "form1[0].#subform[156].Checkboxyes[2]": "1", + "form1[0].#subform[156].Checkboxno[1]": "Off", + "form1[0].#subform[156].Checkboxyes[3]": "1", + "form1[0].#subform[156].Checkboxno[2]": "Off", + "form1[0].#subform[156].Routing_Or_Transit_Number[4]": 125000, + "form1[0].#subform[156].Checkboxyes[4]": "1", + "form1[0].#subform[156].Checkboxno[3]": "Off", + "form1[0].#subform[156].JF06[3]": "Off", + "form1[0].#subform[156].JF14[3]": "Off", + "form1[0].#subform[156].JF08[3]": "Off", + "form1[0].#subform[156].Checkboxyes[5]": "1", + "form1[0].#subform[156].Checkboxno[4]": "Off", + "form1[0].#subform[160].RadioButtonList[32]": true, + "form1[0].#subform[160].Surviving_Spouse[0]": "1", + "form1[0].#subform[160].Surviving_Spouse[1]": "Off", + "form1[0].#subform[160].Child_Specify[0]": "Off", + "form1[0].#subform[160].Child_Specify[1]": "Off", + "form1[0].#subform[160].Name_Of_Child[0]": "9I(1) Recipient", + "form1[0].#subform[160].Social_Security[0]": "1", + "form1[0].#subform[160].Interest_Dividends[0]": "Off", + "form1[0].#subform[160].Civil_Service[0]": "Off", + "form1[0].#subform[160].Pension_Retirement[0]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Specify_Type_Of_Income[3]": "9I(2) Source of Income", + "form1[0].#subform[160].Income_Payer[0]": "9I(3) Payer", + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[1]": 2150.75, + "form1[0].#subform[160].Surviving_Spouse[2]": "1", + "form1[0].#subform[160].Surviving_Spouse[3]": "Off", + "form1[0].#subform[160].Child_Specify[2]": "Off", + "form1[0].#subform[160].Child_Specify[3]": "Off", + "form1[0].#subform[160].Name_Of_Child[1]": "9J(1) Recipient", + "form1[0].#subform[160].Social_Security[1]": "1", + "form1[0].#subform[160].Interest_Dividends[1]": "Off", + "form1[0].#subform[160].Civil_Service[1]": "Off", + "form1[0].#subform[160].Pension_Retirement[1]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[1]": "Off", + "form1[0].#subform[160].Specify_Type_Of_Income[0]": "9J(2) Source of Income", + "form1[0].#subform[160].Income_Payer[1]": "9J(3) Payer", + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[2]": 895.5, + "form1[0].#subform[160].Surviving_Spouse[4]": "1", + "form1[0].#subform[160].Surviving_Spouse[5]": "Off", + "form1[0].#subform[160].Child_Specify[4]": "Off", + "form1[0].#subform[160].Child_Specify[5]": "Off", + "form1[0].#subform[160].Name_Of_Child[2]": "9K(1) Recipient", + "form1[0].#subform[160].Social_Security[2]": "1", + "form1[0].#subform[160].Interest_Dividend[0]": "Off", + "form1[0].#subform[160].Civil_Service[2]": "Off", + "form1[0].#subform[160].Pension_Retirement[2]": "Off", + "form1[0].#subform[160].Other_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Specify_Type_Of_Income[1]": "9K(2) Source of Income", + "form1[0].#subform[160].Income_Payer[2]": "9K(3) Payer", + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[3]": 325.0, + "form1[0].#subform[160].Surviving_Spouse[6]": "1", + "form1[0].#subform[160].Surviving_Spouse[7]": "Off", + "form1[0].#subform[160].Child_Specify[6]": "Off", + "form1[0].#subform[160].Child_Specify[7]": "Off", + "form1[0].#subform[160].Name_Of_Child[3]": "9L(1) Recipient", + "form1[0].#subform[160].Social_Security[3]": "1", + "form1[0].#subform[160].Interest_Dividends[2]": "Off", + "form1[0].#subform[160].Civil_Service[3]": "Off", + "form1[0].#subform[160].Pension_Retirement[3]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[2]": "Off", + "form1[0].#subform[160].Specify_Type_Of_Income[2]": "9L(2) Source of Income", + "form1[0].#subform[160].Income_Payer[3]": "9L(3) Payer", + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[4]": 47.83, + "form1[0].#subform[160].VeteransSocialSecurityNumber_FirstThreeNumbers[5]": "123", + "form1[0].#subform[160].VeteransSocialSecurityNumber_SecondTwoNumbers[5]": "45", + "form1[0].#subform[160].VeteransSocialSecurityNumber_LastFourNumbers[5]": "6789" +} diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json index 0967ef424bce..7058476e3e11 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json @@ -1 +1,54 @@ -{} +{ + "form1[0].#subform[156].Checkboxyes[0]": "Off", + "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].Checkboxyes[1]": "Off", + "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxyes[2]": "Off", + "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxyes[3]": "Off", + "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxyes[4]": "Off", + "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].JF06[3]": "Off", + "form1[0].#subform[156].JF14[3]": "Off", + "form1[0].#subform[156].JF08[3]": "Off", + "form1[0].#subform[160].RadioButtonList[32]": false, + "form1[0].#subform[156].Checkboxyes[5]": "Off", + "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[160].Surviving_Spouse[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[1]": "Off", + "form1[0].#subform[160].Child_Specify[0]": "1", + "form1[0].#subform[160].Child_Specify[1]": "Off", + "form1[0].#subform[160].Social_Security[0]": "Off", + "form1[0].#subform[160].Interest_Dividends[0]": "1", + "form1[0].#subform[160].Civil_Service[0]": "Off", + "form1[0].#subform[160].Pension_Retirement[0]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[2]": "Off", + "form1[0].#subform[160].Surviving_Spouse[3]": "Off", + "form1[0].#subform[160].Child_Specify[2]": "1", + "form1[0].#subform[160].Child_Specify[3]": "Off", + "form1[0].#subform[160].Social_Security[1]": "Off", + "form1[0].#subform[160].Interest_Dividends[1]": "1", + "form1[0].#subform[160].Civil_Service[1]": "Off", + "form1[0].#subform[160].Pension_Retirement[1]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[1]": "Off", + "form1[0].#subform[160].Surviving_Spouse[4]": "Off", + "form1[0].#subform[160].Surviving_Spouse[5]": "Off", + "form1[0].#subform[160].Child_Specify[4]": "1", + "form1[0].#subform[160].Child_Specify[5]": "Off", + "form1[0].#subform[160].Social_Security[2]": "Off", + "form1[0].#subform[160].Interest_Dividend[0]": "1", + "form1[0].#subform[160].Civil_Service[2]": "Off", + "form1[0].#subform[160].Pension_Retirement[2]": "Off", + "form1[0].#subform[160].Other_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[6]": "Off", + "form1[0].#subform[160].Surviving_Spouse[7]": "Off", + "form1[0].#subform[160].Child_Specify[6]": "1", + "form1[0].#subform[160].Child_Specify[7]": "Off", + "form1[0].#subform[160].Social_Security[3]": "Off", + "form1[0].#subform[160].Interest_Dividends[2]": "1", + "form1[0].#subform[160].Civil_Service[3]": "Off", + "form1[0].#subform[160].Pension_Retirement[3]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[2]": "Off" +} diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json index 0967ef424bce..3ac0fa554cea 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json @@ -1 +1,53 @@ -{} +{ + "form1[0].#subform[156].Checkboxyes[0]": "Off", + "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].Checkboxyes[1]": "Off", + "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxyes[2]": "Off", + "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxyes[3]": "Off", + "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxyes[4]": "Off", + "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].JF06[3]": "Off", + "form1[0].#subform[156].JF14[3]": "Off", + "form1[0].#subform[156].JF08[3]": "Off", + "form1[0].#subform[156].Checkboxyes[5]": "Off", + "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[160].Surviving_Spouse[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[1]": "Off", + "form1[0].#subform[160].Child_Specify[0]": "Off", + "form1[0].#subform[160].Child_Specify[1]": "Off", + "form1[0].#subform[160].Social_Security[0]": "Off", + "form1[0].#subform[160].Interest_Dividends[0]": "Off", + "form1[0].#subform[160].Civil_Service[0]": "1", + "form1[0].#subform[160].Pension_Retirement[0]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[2]": "Off", + "form1[0].#subform[160].Surviving_Spouse[3]": "Off", + "form1[0].#subform[160].Child_Specify[2]": "Off", + "form1[0].#subform[160].Child_Specify[3]": "Off", + "form1[0].#subform[160].Social_Security[1]": "Off", + "form1[0].#subform[160].Interest_Dividends[1]": "Off", + "form1[0].#subform[160].Civil_Service[1]": "1", + "form1[0].#subform[160].Pension_Retirement[1]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[1]": "Off", + "form1[0].#subform[160].Surviving_Spouse[4]": "Off", + "form1[0].#subform[160].Surviving_Spouse[5]": "Off", + "form1[0].#subform[160].Child_Specify[4]": "Off", + "form1[0].#subform[160].Child_Specify[5]": "Off", + "form1[0].#subform[160].Social_Security[2]": "Off", + "form1[0].#subform[160].Interest_Dividend[0]": "Off", + "form1[0].#subform[160].Civil_Service[2]": "1", + "form1[0].#subform[160].Pension_Retirement[2]": "Off", + "form1[0].#subform[160].Other_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[6]": "Off", + "form1[0].#subform[160].Surviving_Spouse[7]": "Off", + "form1[0].#subform[160].Child_Specify[6]": "Off", + "form1[0].#subform[160].Child_Specify[7]": "Off", + "form1[0].#subform[160].Social_Security[3]": "Off", + "form1[0].#subform[160].Interest_Dividends[2]": "Off", + "form1[0].#subform[160].Civil_Service[3]": "1", + "form1[0].#subform[160].Pension_Retirement[3]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[2]": "Off" +} diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json index 0967ef424bce..4813318f33d7 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json @@ -1 +1,53 @@ -{} +{ + "form1[0].#subform[156].Checkboxyes[0]": "Off", + "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].Checkboxyes[1]": "Off", + "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxyes[2]": "Off", + "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxyes[3]": "Off", + "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxyes[4]": "Off", + "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].JF06[3]": "Off", + "form1[0].#subform[156].JF14[3]": "Off", + "form1[0].#subform[156].JF08[3]": "Off", + "form1[0].#subform[156].Checkboxyes[5]": "Off", + "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[160].Surviving_Spouse[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[1]": "Off", + "form1[0].#subform[160].Child_Specify[0]": "Off", + "form1[0].#subform[160].Child_Specify[1]": "Off", + "form1[0].#subform[160].Social_Security[0]": "Off", + "form1[0].#subform[160].Interest_Dividends[0]": "Off", + "form1[0].#subform[160].Civil_Service[0]": "Off", + "form1[0].#subform[160].Pension_Retirement[0]": "1", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[2]": "Off", + "form1[0].#subform[160].Surviving_Spouse[3]": "Off", + "form1[0].#subform[160].Child_Specify[2]": "Off", + "form1[0].#subform[160].Child_Specify[3]": "Off", + "form1[0].#subform[160].Social_Security[1]": "Off", + "form1[0].#subform[160].Interest_Dividends[1]": "Off", + "form1[0].#subform[160].Civil_Service[1]": "Off", + "form1[0].#subform[160].Pension_Retirement[1]": "1", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[1]": "Off", + "form1[0].#subform[160].Surviving_Spouse[4]": "Off", + "form1[0].#subform[160].Surviving_Spouse[5]": "Off", + "form1[0].#subform[160].Child_Specify[4]": "Off", + "form1[0].#subform[160].Child_Specify[5]": "Off", + "form1[0].#subform[160].Social_Security[2]": "Off", + "form1[0].#subform[160].Interest_Dividend[0]": "Off", + "form1[0].#subform[160].Civil_Service[2]": "Off", + "form1[0].#subform[160].Pension_Retirement[2]": "1", + "form1[0].#subform[160].Other_Type_Of_Income[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[6]": "Off", + "form1[0].#subform[160].Surviving_Spouse[7]": "Off", + "form1[0].#subform[160].Child_Specify[6]": "Off", + "form1[0].#subform[160].Child_Specify[7]": "Off", + "form1[0].#subform[160].Social_Security[3]": "Off", + "form1[0].#subform[160].Interest_Dividends[2]": "Off", + "form1[0].#subform[160].Civil_Service[3]": "Off", + "form1[0].#subform[160].Pension_Retirement[3]": "1", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[2]": "Off" +} diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json index 0967ef424bce..6940682fe5b7 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json @@ -1 +1,53 @@ -{} +{ + "form1[0].#subform[156].Checkboxyes[0]": "Off", + "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].Checkboxyes[1]": "Off", + "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxyes[2]": "Off", + "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxyes[3]": "Off", + "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxyes[4]": "Off", + "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].JF06[3]": "Off", + "form1[0].#subform[156].JF14[3]": "Off", + "form1[0].#subform[156].JF08[3]": "Off", + "form1[0].#subform[156].Checkboxyes[5]": "Off", + "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[160].Surviving_Spouse[0]": "Off", + "form1[0].#subform[160].Surviving_Spouse[1]": "Off", + "form1[0].#subform[160].Child_Specify[0]": "Off", + "form1[0].#subform[160].Child_Specify[1]": "Off", + "form1[0].#subform[160].Social_Security[0]": "Off", + "form1[0].#subform[160].Interest_Dividends[0]": "Off", + "form1[0].#subform[160].Civil_Service[0]": "Off", + "form1[0].#subform[160].Pension_Retirement[0]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[0]": "1", + "form1[0].#subform[160].Surviving_Spouse[2]": "Off", + "form1[0].#subform[160].Surviving_Spouse[3]": "Off", + "form1[0].#subform[160].Child_Specify[2]": "Off", + "form1[0].#subform[160].Child_Specify[3]": "Off", + "form1[0].#subform[160].Social_Security[1]": "Off", + "form1[0].#subform[160].Interest_Dividends[1]": "Off", + "form1[0].#subform[160].Civil_Service[1]": "Off", + "form1[0].#subform[160].Pension_Retirement[1]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[1]": "1", + "form1[0].#subform[160].Surviving_Spouse[4]": "Off", + "form1[0].#subform[160].Surviving_Spouse[5]": "Off", + "form1[0].#subform[160].Child_Specify[4]": "Off", + "form1[0].#subform[160].Child_Specify[5]": "Off", + "form1[0].#subform[160].Social_Security[2]": "Off", + "form1[0].#subform[160].Interest_Dividend[0]": "Off", + "form1[0].#subform[160].Civil_Service[2]": "Off", + "form1[0].#subform[160].Pension_Retirement[2]": "Off", + "form1[0].#subform[160].Other_Type_Of_Income[0]": "1", + "form1[0].#subform[160].Surviving_Spouse[6]": "Off", + "form1[0].#subform[160].Surviving_Spouse[7]": "Off", + "form1[0].#subform[160].Child_Specify[6]": "Off", + "form1[0].#subform[160].Child_Specify[7]": "Off", + "form1[0].#subform[160].Social_Security[3]": "Off", + "form1[0].#subform[160].Interest_Dividends[2]": "Off", + "form1[0].#subform[160].Civil_Service[3]": "Off", + "form1[0].#subform[160].Pension_Retirement[3]": "Off", + "form1[0].#subform[160].Other_Specify_Type_Of_Income[2]": "1" +} From f7d691b99bfdc16b6426b8f4b5f69776b0dac2bb Mon Sep 17 00:00:00 2001 From: Daniel Gading <2748839+dgading@users.noreply.github.com> Date: Mon, 6 Apr 2026 17:16:24 -0400 Subject: [PATCH 3/5] fix up tests --- .../pdf_fill/sections/V2025/section_09.rb | 1 - .../pdf_fill/output/V2025/21P-534EZ_section-9.json | 13 ++++++------- .../output/V2025/21P-534EZ_section-9_1.json | 1 - 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb index ccbbea1fc9eb..d60489a3dea6 100644 --- a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb +++ b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb @@ -36,7 +36,6 @@ class Section9 < Section 'noIncome' => { key: 'form1[0].#subform[156].JF06[3]' }, 'oneToFour' => { key: 'form1[0].#subform[156].JF14[3]' }, 'fivePlus' => { key: 'form1[0].#subform[156].JF08[3]' }, - 'otherIncome' => { key: 'form1[0].#subform[160].RadioButtonList[32]' }, 'otherIncomeYes' => { key: 'form1[0].#subform[156].Checkboxyes[5]' }, 'otherIncomeNo' => { key: 'form1[0].#subform[156].Checkboxno[4]' }, 'incomeEntryOne' => { diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json index 5ee9536a862c..f21776e0dd2f 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9.json @@ -1,14 +1,14 @@ { "form1[0].#subform[156].Checkboxyes[0]": "1", "form1[0].#subform[156].CheckboxNO[1]": "Off", - "form1[0].#subform[156].Routing_Or_Transit_Number[3]": 78550.75, + "form1[0].#subform[156].Routing_Or_Transit_Number[3]": "78550.75", "form1[0].#subform[156].Checkboxyes[1]": "1", "form1[0].#subform[156].Checkboxno[0]": "Off", "form1[0].#subform[156].Checkboxyes[2]": "1", "form1[0].#subform[156].Checkboxno[1]": "Off", "form1[0].#subform[156].Checkboxyes[3]": "1", "form1[0].#subform[156].Checkboxno[2]": "Off", - "form1[0].#subform[156].Routing_Or_Transit_Number[4]": 125000, + "form1[0].#subform[156].Routing_Or_Transit_Number[4]": "125000", "form1[0].#subform[156].Checkboxyes[4]": "1", "form1[0].#subform[156].Checkboxno[3]": "Off", "form1[0].#subform[156].JF06[3]": "Off", @@ -16,7 +16,6 @@ "form1[0].#subform[156].JF08[3]": "Off", "form1[0].#subform[156].Checkboxyes[5]": "1", "form1[0].#subform[156].Checkboxno[4]": "Off", - "form1[0].#subform[160].RadioButtonList[32]": true, "form1[0].#subform[160].Surviving_Spouse[0]": "1", "form1[0].#subform[160].Surviving_Spouse[1]": "Off", "form1[0].#subform[160].Child_Specify[0]": "Off", @@ -29,7 +28,7 @@ "form1[0].#subform[160].Other_Specify_Type_Of_Income[0]": "Off", "form1[0].#subform[160].Specify_Type_Of_Income[3]": "9I(2) Source of Income", "form1[0].#subform[160].Income_Payer[0]": "9I(3) Payer", - "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[1]": 2150.75, + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[1]": "2150.75", "form1[0].#subform[160].Surviving_Spouse[2]": "1", "form1[0].#subform[160].Surviving_Spouse[3]": "Off", "form1[0].#subform[160].Child_Specify[2]": "Off", @@ -42,7 +41,7 @@ "form1[0].#subform[160].Other_Specify_Type_Of_Income[1]": "Off", "form1[0].#subform[160].Specify_Type_Of_Income[0]": "9J(2) Source of Income", "form1[0].#subform[160].Income_Payer[1]": "9J(3) Payer", - "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[2]": 895.5, + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[2]": "895.5", "form1[0].#subform[160].Surviving_Spouse[4]": "1", "form1[0].#subform[160].Surviving_Spouse[5]": "Off", "form1[0].#subform[160].Child_Specify[4]": "Off", @@ -55,7 +54,7 @@ "form1[0].#subform[160].Other_Type_Of_Income[0]": "Off", "form1[0].#subform[160].Specify_Type_Of_Income[1]": "9K(2) Source of Income", "form1[0].#subform[160].Income_Payer[2]": "9K(3) Payer", - "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[3]": 325.0, + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[3]": "325.0", "form1[0].#subform[160].Surviving_Spouse[6]": "1", "form1[0].#subform[160].Surviving_Spouse[7]": "Off", "form1[0].#subform[160].Child_Specify[6]": "Off", @@ -68,7 +67,7 @@ "form1[0].#subform[160].Other_Specify_Type_Of_Income[2]": "Off", "form1[0].#subform[160].Specify_Type_Of_Income[2]": "9L(2) Source of Income", "form1[0].#subform[160].Income_Payer[3]": "9L(3) Payer", - "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[4]": 47.83, + "form1[0].#subform[160].VETERANS_SERVICE_NUMBER[4]": "47.83", "form1[0].#subform[160].VeteransSocialSecurityNumber_FirstThreeNumbers[5]": "123", "form1[0].#subform[160].VeteransSocialSecurityNumber_SecondTwoNumbers[5]": "45", "form1[0].#subform[160].VeteransSocialSecurityNumber_LastFourNumbers[5]": "6789" diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json index 7058476e3e11..19beb62d788d 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_1.json @@ -12,7 +12,6 @@ "form1[0].#subform[156].JF06[3]": "Off", "form1[0].#subform[156].JF14[3]": "Off", "form1[0].#subform[156].JF08[3]": "Off", - "form1[0].#subform[160].RadioButtonList[32]": false, "form1[0].#subform[156].Checkboxyes[5]": "Off", "form1[0].#subform[156].Checkboxno[4]": "1", "form1[0].#subform[160].Surviving_Spouse[0]": "Off", From 8d769972922a2adfbb58ff994e007ad0677e9b8d Mon Sep 17 00:00:00 2001 From: Daniel Gading <2748839+dgading@users.noreply.github.com> Date: Tue, 7 Apr 2026 10:38:26 -0400 Subject: [PATCH 4/5] Fix duplicate calls --- .../pdf_fill/sections/V2025/section_09.rb | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb index d60489a3dea6..6950eeb5c5b6 100644 --- a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb +++ b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb @@ -129,17 +129,19 @@ def expand(form_data = {}) private def expand_entry(entry = {}) + recipient = entry['recipient'] + income_type = entry['incomeType'] entry.merge({ - 'survivingSpouse' => entry['recipient'] == 'SURVIVING_SPOUSE' ? '1' : 'Off', - 'custodian' => entry['recipient'] == 'CUSTODIAN' ? '1' : 'Off', - 'child' => entry['recipient'] == 'CHILD' ? '1' : 'Off', - 'custodianSpouse' => entry['recipient'] == 'CUSTODIAN_SPOUSE' ? '1' : 'Off', + 'survivingSpouse' => recipient == 'SURVIVING_SPOUSE' ? '1' : 'Off', + 'custodian' => recipient == 'CUSTODIAN' ? '1' : 'Off', + 'child' => recipient == 'CHILD' ? '1' : 'Off', + 'custodianSpouse' => recipient == 'CUSTODIAN_SPOUSE' ? '1' : 'Off', 'recipientName' => entry['recipientName'], - 'socialSecurity' => entry['incomeType'] == 'SOCIAL_SECURITY' ? '1' : 'Off', - 'interestDividends' => entry['incomeType'] == 'INTEREST_DIVIDENDS' ? '1' : 'Off', - 'civilService' => entry['incomeType'] == 'CIVIL_SERVICE' ? '1' : 'Off', - 'pensionRetirement' => entry['incomeType'] == 'PENSION_RETIREMENT' ? '1' : 'Off', - 'other' => entry['incomeType'] == 'OTHER' ? '1' : 'Off', + 'socialSecurity' => income_type == 'SOCIAL_SECURITY' ? '1' : 'Off', + 'interestDividends' => income_type == 'INTEREST_DIVIDENDS' ? '1' : 'Off', + 'civilService' => income_type == 'CIVIL_SERVICE' ? '1' : 'Off', + 'pensionRetirement' => income_type == 'PENSION_RETIREMENT' ? '1' : 'Off', + 'other' => income_type == 'OTHER' ? '1' : 'Off', 'incomeTypeOther' => entry['incomeTypeOther'], 'incomePayer' => entry['incomePayer'], 'monthlyIncome' => entry['monthlyIncome'] From a3812646a9751fc95ebf3ab4fed2b25e5d36054e Mon Sep 17 00:00:00 2001 From: Daniel Gading <2748839+dgading@users.noreply.github.com> Date: Wed, 8 Apr 2026 15:08:58 -0400 Subject: [PATCH 5/5] Fix copilot issues --- .../pdf_fill/sections/V2025/section_09.rb | 37 +++++++++++++------ .../output/V2025/21P-534EZ_section-9_2.json | 12 +++--- .../output/V2025/21P-534EZ_section-9_3.json | 12 +++--- .../output/V2025/21P-534EZ_section-9_4.json | 12 +++--- 4 files changed, 43 insertions(+), 30 deletions(-) diff --git a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb index 6950eeb5c5b6..002d77048b4c 100644 --- a/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb +++ b/modules/survivors_benefits/lib/survivors_benefits/pdf_fill/sections/V2025/section_09.rb @@ -102,16 +102,16 @@ class Section9 < Section def expand(form_data = {}) form_data['p15HeaderVeteranSocialSecurityNumber'] = split_ssn(form_data['veteranSocialSecurityNumber']) - form_data['totalNetWorthYes'] = form_data['totalNetWorth'] ? '1' : 'Off' - form_data['totalNetWorthNo'] = form_data['totalNetWorth'] ? 'Off' : '1' - form_data['transferredAssetsYes'] = form_data['transferredAssets'] ? '1' : 'Off' - form_data['transferredAssetsNo'] = form_data['transferredAssets'] ? 'Off' : '1' - form_data['homeOwnershipYes'] = form_data['homeOwnership'] ? '1' : 'Off' - form_data['homeOwnershipNo'] = form_data['homeOwnership'] ? 'Off' : '1' - form_data['homeAcreageMoreThanTwoYes'] = form_data['homeAcreageMoreThanTwo'] ? '1' : 'Off' - form_data['homeAcreageMoreThanTwoNo'] = form_data['homeAcreageMoreThanTwo'] ? 'Off' : '1' - form_data['landMarketableYes'] = form_data['landMarketable'] ? '1' : 'Off' - form_data['landMarketableNo'] = form_data['landMarketable'] ? 'Off' : '1' + map_yes_no_checkboxes(form_data, 'totalNetWorth', 'totalNetWorthYes', 'totalNetWorthNo') + map_yes_no_checkboxes(form_data, 'transferredAssets', 'transferredAssetsYes', 'transferredAssetsNo') + map_yes_no_checkboxes(form_data, 'homeOwnership', 'homeOwnershipYes', 'homeOwnershipNo') + map_yes_no_checkboxes( + form_data, + 'homeAcreageMoreThanTwo', + 'homeAcreageMoreThanTwoYes', + 'homeAcreageMoreThanTwoNo' + ) + map_yes_no_checkboxes(form_data, 'landMarketable', 'landMarketableYes', 'landMarketableNo') expand_income_entries(form_data) @@ -120,14 +120,27 @@ def expand(form_data = {}) form_data['oneToFour'] = form_data['moreThanFourIncomeSources'] == 'ONE_TO_FOUR_SOURCES' ? '1' : 'Off' form_data['fivePlus'] = form_data['moreThanFourIncomeSources'] == 'MORE_THAN_FIVE_SOURCES' ? '1' : 'Off' - form_data['otherIncomeYes'] = form_data['otherIncome'] ? '1' : 'Off' - form_data['otherIncomeNo'] = form_data['otherIncome'] ? 'Off' : '1' + map_yes_no_checkboxes(form_data, 'otherIncome', 'otherIncomeYes', 'otherIncomeNo') form_data end private + def map_yes_no_checkboxes(form_data, source_key, yes_key, no_key) + case form_data[source_key] + when true + form_data[yes_key] = '1' + form_data[no_key] = 'Off' + when false + form_data[yes_key] = 'Off' + form_data[no_key] = '1' + else + form_data[yes_key] = 'Off' + form_data[no_key] = 'Off' + end + end + def expand_entry(entry = {}) recipient = entry['recipient'] income_type = entry['incomeType'] diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json index 3ac0fa554cea..3041017ed1ce 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_2.json @@ -1,19 +1,19 @@ { "form1[0].#subform[156].Checkboxyes[0]": "Off", - "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].CheckboxNO[1]": "Off", "form1[0].#subform[156].Checkboxyes[1]": "Off", - "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxno[0]": "Off", "form1[0].#subform[156].Checkboxyes[2]": "Off", - "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxno[1]": "Off", "form1[0].#subform[156].Checkboxyes[3]": "Off", - "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxno[2]": "Off", "form1[0].#subform[156].Checkboxyes[4]": "Off", - "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].Checkboxno[3]": "Off", "form1[0].#subform[156].JF06[3]": "Off", "form1[0].#subform[156].JF14[3]": "Off", "form1[0].#subform[156].JF08[3]": "Off", "form1[0].#subform[156].Checkboxyes[5]": "Off", - "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[156].Checkboxno[4]": "Off", "form1[0].#subform[160].Surviving_Spouse[0]": "Off", "form1[0].#subform[160].Surviving_Spouse[1]": "Off", "form1[0].#subform[160].Child_Specify[0]": "Off", diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json index 4813318f33d7..b3b82ba73f37 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_3.json @@ -1,19 +1,19 @@ { "form1[0].#subform[156].Checkboxyes[0]": "Off", - "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].CheckboxNO[1]": "Off", "form1[0].#subform[156].Checkboxyes[1]": "Off", - "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxno[0]": "Off", "form1[0].#subform[156].Checkboxyes[2]": "Off", - "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxno[1]": "Off", "form1[0].#subform[156].Checkboxyes[3]": "Off", - "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxno[2]": "Off", "form1[0].#subform[156].Checkboxyes[4]": "Off", - "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].Checkboxno[3]": "Off", "form1[0].#subform[156].JF06[3]": "Off", "form1[0].#subform[156].JF14[3]": "Off", "form1[0].#subform[156].JF08[3]": "Off", "form1[0].#subform[156].Checkboxyes[5]": "Off", - "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[156].Checkboxno[4]": "Off", "form1[0].#subform[160].Surviving_Spouse[0]": "Off", "form1[0].#subform[160].Surviving_Spouse[1]": "Off", "form1[0].#subform[160].Child_Specify[0]": "Off", diff --git a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json index 6940682fe5b7..694a3031a024 100644 --- a/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json +++ b/modules/survivors_benefits/spec/lib/survivors_benefits/pdf_fill/output/V2025/21P-534EZ_section-9_4.json @@ -1,19 +1,19 @@ { "form1[0].#subform[156].Checkboxyes[0]": "Off", - "form1[0].#subform[156].CheckboxNO[1]": "1", + "form1[0].#subform[156].CheckboxNO[1]": "Off", "form1[0].#subform[156].Checkboxyes[1]": "Off", - "form1[0].#subform[156].Checkboxno[0]": "1", + "form1[0].#subform[156].Checkboxno[0]": "Off", "form1[0].#subform[156].Checkboxyes[2]": "Off", - "form1[0].#subform[156].Checkboxno[1]": "1", + "form1[0].#subform[156].Checkboxno[1]": "Off", "form1[0].#subform[156].Checkboxyes[3]": "Off", - "form1[0].#subform[156].Checkboxno[2]": "1", + "form1[0].#subform[156].Checkboxno[2]": "Off", "form1[0].#subform[156].Checkboxyes[4]": "Off", - "form1[0].#subform[156].Checkboxno[3]": "1", + "form1[0].#subform[156].Checkboxno[3]": "Off", "form1[0].#subform[156].JF06[3]": "Off", "form1[0].#subform[156].JF14[3]": "Off", "form1[0].#subform[156].JF08[3]": "Off", "form1[0].#subform[156].Checkboxyes[5]": "Off", - "form1[0].#subform[156].Checkboxno[4]": "1", + "form1[0].#subform[156].Checkboxno[4]": "Off", "form1[0].#subform[160].Surviving_Spouse[0]": "Off", "form1[0].#subform[160].Surviving_Spouse[1]": "Off", "form1[0].#subform[160].Child_Specify[0]": "Off",