Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions app/lib/pdf_filler/f13614c_pdf.rb
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ def hash_for_pdf
"statusLegallySeparated[0].statusLegallySeparated[0]" => @intake.separated_yes?,
"statusDivorced[0].statusDivorced[0]" => @intake.divorced_yes?,
"statusWidowed[0].statusWidowed[0]" => @intake.widowed_yes?,
"liveWithSpouse[0].liveWithYes[0]" => @intake.lived_with_spouse_yes?,
"liveWithSpouse[0].liveWithNo[0]" => @intake.lived_with_spouse_no?,
"liveApart[0].liveApartNo[0]" => @intake.lived_with_spouse_yes?,
"liveApart[0].liveApartYes[0]" => @intake.lived_with_spouse_no?,
"marriedForAll[0].forAllYes[0]" => @intake.married_for_all_of_tax_year_yes?,
"marriedForAll[0].forAllNo[0]" => @intake.married_for_all_of_tax_year_no?,
}
Expand All @@ -102,9 +102,6 @@ def hash_for_pdf
answers["form1[0].page1[0].anyoneElseClaim[0].otherClaimYes[0]"] = yes_no_unfilled_to_checkbox(@intake.claimed_by_another)
answers["form1[0].page1[0].anyoneElseClaim[0].otherClaimNo[0]"] = yes_no_unfilled_to_opposite_checkbox(@intake.claimed_by_another)

answers["form1[0].page1[0].howToVote[0].voteInformationYes[0]"] = yes_no_unfilled_to_checkbox(@intake.register_to_vote)
answers["form1[0].page1[0].howToVote[0].voteInformationNo[0]"] = yes_no_unfilled_to_opposite_checkbox(@intake.register_to_vote)

# PAGE 2
answers.merge!(
keep_and_normalize(
Expand Down Expand Up @@ -307,15 +304,15 @@ def hash_for_pdf
{
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundYou[0]" => (@intake.presidential_campaign_fund_donation_primary? || @intake.presidential_campaign_fund_donation_primary_and_spouse?),
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundSpouse[0]" => (@intake.presidential_campaign_fund_donation_spouse? || @intake.presidential_campaign_fund_donation_primary_and_spouse?),
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundNo[0]" => (!(@intake.presidential_campaign_fund_donation_spouse? || @intake.presidential_campaign_fund_donation_primary_and_spouse?) && !(@intake.presidential_campaign_fund_donation_primary? || @intake.presidential_campaign_fund_donation_primary_and_spouse?)),
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundNo[0]" => (!@intake.presidential_campaign_fund_donation_unfilled? && !(@intake.presidential_campaign_fund_donation_spouse? || @intake.presidential_campaign_fund_donation_primary_and_spouse?) && !(@intake.presidential_campaign_fund_donation_primary? || @intake.presidential_campaign_fund_donation_primary_and_spouse?)),
}
)
)
answers.merge!(demographic_info) if @intake.demographic_questions_opt_in_yes? || @intake.demographic_questions_hub_edit

# ty2024 page 5

answers["form1[0].page5[0].AdditionalComments[0].AdditionalNotesComments[0]"] = (@intake.additional_notes_comments || '') << "\n\n" << dependents_4th_and_up
answers["form1[0].page5[0].AdditionalComments[0].AdditionalNotesComments[0]"] = (@intake.additional_notes_comments || '') << "\n\n" << dependents_5th_and_up

# end - ty2024 page 5

Expand Down Expand Up @@ -451,7 +448,7 @@ def yes_no_checkboxes(pdf_key_base, enum_value, include_unsure: false, option_pr

def dependents_info
answers = {}
@dependents.first(3).each_with_index do |dependent, index|
@dependents.first(4).each_with_index do |dependent, index|
single_dependent_params(dependent, index: index + 1).each do |key, value|
answers[key] = value
end
Expand Down Expand Up @@ -583,13 +580,13 @@ def single_dependent_params(dependent, index:)
}
end

def dependents_4th_and_up
return '' if @dependents.length < 4
def dependents_5th_and_up
return '' if @dependents.length < 5

s = "Additional Dependents:\n"
sep = ' // '

@dependents[3..].map do |dependent|
@dependents[4..].map do |dependent|
s << dependent.full_name << sep
s << strftime_date(dependent.birth_date) << sep
s << dependent.relationship << sep
Expand Down
70 changes: 61 additions & 9 deletions spec/lib/pdf_filler/f13614c_pdf_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,26 @@
filer_provided_over_half_support: "na",
filer_provided_over_half_housing_support: "yes",
)
create(
:dependent,
intake: intake,
first_name: "Polly",
last_name: "Pony",
relationship: "Parent",
birth_date: Date.new(1955, 7, 20),
months_in_home: 8,
was_married: "yes",
disabled: "yes",
north_american_resident: "no",
us_citizen: "yes",
was_student: "no",
can_be_claimed_by_other: "no",
provided_over_half_own_support: "no",
below_qualifying_relative_income_requirement: "yes",
filer_provided_over_half_support: "yes",
filer_provided_over_half_housing_support: "yes",
has_ip_pin: "no",
)
end

it 'fills out the dependent info section on page 1 correctly' do
Expand Down Expand Up @@ -275,16 +295,13 @@
expect(intake_pdf.hash_for_pdf.keys & all_fields_in_pdf).to match_array(intake_pdf.hash_for_pdf.keys)
end

# TODO reenable for TY2025
xit 'fills out written language preference and voter information sections correctly' do
it 'fills out written language preference and voter information sections correctly' do
output_file = intake_pdf.output_file
result = non_preparer_fields(output_file.path)
expect(result).to include(
"form1[0].page1[0].writtenCommunicationLanguage[0].otherLanguageNo[0]" => '',
"form1[0].page1[0].writtenCommunicationLanguage[0].otherLanguageYou[0]" => '1',
"form1[0].page1[0].writtenCommunicationLanguage[0].whatLanguage[0]" => "Russian",
"form1[0].page1[0].howToVote[0].voteInformationYes[0]" => "",
"form1[0].page1[0].howToVote[0].voteInformationNo[0]" => "1",
)
end

Expand All @@ -304,8 +321,6 @@
"form1[0].page1[0].haveBlanceDue[0].blanceDirectPay[0]" => "Off",
"form1[0].page1[0].haveBlanceDue[0].blanceInstallmentAgreement[0]" => "Off",
"form1[0].page1[0].haveBlanceDue[0].blanceMailPayment[0]" => "1",
"form1[0].page1[0].howToVote[0].voteInformationNo[0]" => "1",
"form1[0].page1[0].howToVote[0].voteInformationYes[0]" => "",
"form1[0].page1[0].hyperlink[0]" => nil,
"form1[0].page1[0].liveWorkStates[0].liveWorkNo[0]" => "Off",
"form1[0].page1[0].liveWorkStates[0].liveWorkYes[0]" => "1",
Expand All @@ -314,8 +329,10 @@
"form1[0].page1[0].mailingState[0]" => "NJ",
"form1[0].page1[0].mailingZIPCode[0]" => "08052",
"form1[0].page1[0].maillingApartmentNumber[0]" => "",
"form1[0].page1[0].maritalStatus[0].liveWithSpouse[0].liveWithNo[0]" => "Off",
"form1[0].page1[0].maritalStatus[0].liveWithSpouse[0].liveWithYes[0]" => "1",
+"form1[0].page1[0].maritalStatus[0].lastDay[0].lastDayNo[0]" => "Off",
+"form1[0].page1[0].maritalStatus[0].lastDay[0].lastDayYes[0]" => "Off",
"form1[0].page1[0].maritalStatus[0].liveApart[0].liveApartYes[0]" => "Off",
"form1[0].page1[0].maritalStatus[0].liveApart[0].liveApartNo[0]" => "1",
"form1[0].page1[0].maritalStatus[0].marriedForAll[0].forAllNo[0]" => "Off",
"form1[0].page1[0].maritalStatus[0].marriedForAll[0].forAllYes[0]" => "Off",
"form1[0].page1[0].maritalStatus[0].statusDivorced[0].dateFinalDecree[0]" => "2015",
Expand Down Expand Up @@ -371,6 +388,21 @@
"form1[0].page1[0].namesOf[0].Row3[0].supportForPerson[0]" => "N/A",
"form1[0].page1[0].namesOf[0].Row3[0].totallyPermanentlyDisabled[0]" => "Y",
"form1[0].page1[0].namesOf[0].Row3[0].usCitizen[0]" => "N",
"form1[0].page1[0].namesOf[0].Row4[0].costMaintainingHome[0]" => "Yes",
"form1[0].page1[0].namesOf[0].Row4[0].dateOfBirth[0]" => "7/20/1955",
"form1[0].page1[0].namesOf[0].Row4[0].fullTimeStudent[0]" => "N",
"form1[0].page1[0].namesOf[0].Row4[0].issuedIPPIN[0]" => "N",
"form1[0].page1[0].namesOf[0].Row4[0].lessThanIncome[0]" => "Yes",
"form1[0].page1[0].namesOf[0].Row4[0].monthsLivedHome[0]" => "8",
"form1[0].page1[0].namesOf[0].Row4[0].nameFirstLast[0]" => "Polly Pony",
"form1[0].page1[0].namesOf[0].Row4[0].ownSupport[0]" => "No",
"form1[0].page1[0].namesOf[0].Row4[0].qualifyingChildDependent[0]" => "No",
"form1[0].page1[0].namesOf[0].Row4[0].relationshipToYou[0]" => "Parent",
"form1[0].page1[0].namesOf[0].Row4[0].residentUSCandaMexico[0]" => "N",
"form1[0].page1[0].namesOf[0].Row4[0].singleMarried[0]" => "M",
"form1[0].page1[0].namesOf[0].Row4[0].supportForPerson[0]" => "Yes",
"form1[0].page1[0].namesOf[0].Row4[0].totallyPermanentlyDisabled[0]" => "Y",
"form1[0].page1[0].namesOf[0].Row4[0].usCitizen[0]" => "Y",
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundNo[0]" => "Off",
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundSpouse[0]" => "Off",
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundYou[0]" => "1",
Expand Down Expand Up @@ -975,7 +1007,7 @@
describe 'additional comments field' do
let(:additional_comments_key) { "form1[0].page5[0].AdditionalComments[0].AdditionalNotesComments[0]" }

context "when there are only 3 or less dependents" do
context "when there are only 4 or less dependents" do
it "does not reference additional dependents" do
expect(intake_pdf.hash_for_pdf[additional_comments_key]).to eq("if there is another gnome living in my garden but only i have an income, does that make me head of household?\n\n")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol who wrote this, i love it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like maria and travis haha

end
Expand Down Expand Up @@ -1074,6 +1106,26 @@
)
end
end

context "when presidential campaign fund is unfilled" do
let(:intake) do
create(
:intake,
client: build(:client, :with_consent, consented_to_service_at: Date.new(2024, 1, 1)),
presidential_campaign_fund_donation: "unfilled"
)
end

it "leaves all presidential election fund options unselected" do
output_file = intake_pdf.output_file
result = non_preparer_fields(output_file.path)
expect(result).to include(
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundYou[0]" => "Off",
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundSpouse[0]" => "Off",
"form1[0].page1[0].presidentialElectionFund[0].presidentialElectionFundNo[0]" => "Off"
)
end
end
end
end
end
Loading