Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FYST-796 Add state id pages to Idaho #4931

Merged
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
2 changes: 2 additions & 0 deletions app/lib/navigation/state_file_id_question_navigation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ class StateFileIdQuestionNavigation < Navigation::StateFileBaseQuestionNavigatio
Navigation::NavigationStep.new(StateFile::Questions::IncomeReviewController),
Navigation::NavigationStep.new(StateFile::Questions::UnemploymentController),
Navigation::NavigationStep.new(StateFile::Questions::IdSalesUseTaxController),
Navigation::NavigationStep.new(StateFile::Questions::PrimaryStateIdController),
Navigation::NavigationStep.new(StateFile::Questions::SpouseStateIdController),
Navigation::NavigationStep.new(StateFile::Questions::IdReviewController),
Navigation::NavigationStep.new(StateFile::Questions::EsignDeclarationController), # creates EfileSubmission and transitions to preparing
]),
Expand Down
8 changes: 6 additions & 2 deletions app/models/state_file_id_intake.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,16 @@
# created_at :datetime not null
# updated_at :datetime not null
# federal_submission_id :string
# primary_state_id_id :bigint
# spouse_state_id_id :bigint
# visitor_id :string
#
# Indexes
#
# index_state_file_id_intakes_on_email_address (email_address)
# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
# index_state_file_id_intakes_on_email_address (email_address)
# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
# index_state_file_id_intakes_on_primary_state_id_id (primary_state_id_id)
# index_state_file_id_intakes_on_spouse_state_id_id (spouse_state_id_id)
#

# Indexes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<% title = t(".title") %>
<% content_for :page_title, title %>

<%# Must be above :card content_for %>
<% content_for :info_box do %>
<div class="reveal">
<p><a href="#" class="reveal__link"><%= t(".why_ask_this") %></a></p>
<div class="reveal__content">
<div>
<p>
<%= t('.protect_identity') %>
</p>
<p>
<%= t('.encourage_sharing_html') %>
</p>
</div>
</div>
</div>
<% end %>

<% content_for :card do %>
<h1 class="h2"><%= title %></h1>
<p> <%= t(".subtitle") %></p>
<%= render 'state_file/questions/primary_state_id/state_id', options: {
info_link: "https://itd.idaho.gov/news/idahos-new-license-and-id-card-are-here/"
} %>
<% end %>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<% title = t(".title_html") %>
<% content_for :page_title, title %>

<%# Must be above :card content_for %>
<% content_for :info_box do %>
<div class="reveal">
<p><a href="#" class="reveal__link"><%= t(".why_ask_this") %></a></p>
<div class="reveal__content">
<div>
<p>
<%= t('.protect_identity') %>
</p>
<p>
<%= t('.encourage_sharing_html') %>
</p>
</div>
</div>
</div>
<% end %>

<% content_for :card do %>
<h1 class="h2"><%= title %></h1>
<p> <%= t("state_file.questions.id_primary_state_id.id_primary.subtitle") %></p>
<%= render 'state_file/questions/primary_state_id/state_id', options: {
info_link: "https://itd.idaho.gov/news/idahos-new-license-and-id-card-are-here/"
} %>
<% end %>
13 changes: 13 additions & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2522,6 +2522,13 @@ en:
withdrew_msa_fthb_list:
bullet_1_html: "<strong>Medical Savings Account</strong> and use it for non-qualifying expenses"
bullet_2_html: "<strong>First-Time Homebuyer Account</strong> and didn’t use it for eligible home costs"
id_primary_state_id:
id_primary:
encourage_sharing_html: If you and your spouse have a driver’s license or state issued identification card please provide the requested information from it. The return will not be rejected if you do not provide a driver’s license or state-issued identification. <br><br> If you provide this information, it may help to identify you as the taxpayer.
protect_identity: Many state revenue agencies, including Idaho, are requesting additional information in an effort to combat stolen-identity tax fraud and to protect you and your tax refund.
subtitle: Provide your driver’s license or identity card number when you e-File to help your refund process faster.
title: We need some details from your state-issued ID, if you have one
why_ask_this: Why are you asking for this information?
id_sales_use_tax:
edit:
sales_tax_content: This is a tax collected at the point of sale when you buy goods within your state.
Expand All @@ -2532,6 +2539,12 @@ en:
unpaid_sales_use_tax_label_html: Please enter the <b>total amount of purchases</b> that didn’t have sales or use tax applied.
use_tax_content: If you buy something from another state (like online shopping or purchases from a store located in another state) and you don’t pay sales tax on it, you are generally required to pay use tax to your home state.
use_tax_title: What are use taxes?
id_spouse_state_id:
id_spouse:
encourage_sharing_html: If you and your spouse have a driver’s license or state issued identification card please provide the requested information from it. The return will not be rejected if you do not provide a driver’s license or state-issued identification. <br><br> If you provide this information, it may help to identify you as the taxpayer.
protect_identity: Many state revenue agencies, including Idaho, are requesting additional information in an effort to combat stolen-identity tax fraud and to protect you and your tax refund.
title_html: We need some details from <strong>your spouse’s</strong> state-issued ID, if they have one
why_ask_this: Why are you asking for this information?
income_review:
edit:
help_text: We will ask about any missing information.
Expand Down
13 changes: 13 additions & 0 deletions config/locales/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2495,6 +2495,13 @@ es:
withdrew_msa_fthb_list:
bullet_1_html: "<strong>Cuenta de Ahorros Médicos</strong> y lo utilizó para gastos no calificados"
bullet_2_html: "<strong>Cuenta para Compradores de Vivienda por Primera Vez</strong> y no lo usó para costos elegibles de vivienda"
id_primary_state_id:
id_primary:
encourage_sharing_html: Si usted y su cónyuge tienen una licencia de conducir o una tarjeta de identificación emitida por el estado, proporcione la información solicitada. La devolución no será rechazada si no proporciona una licencia de conducir o una identificación emitida por el estado. <br><br>Si proporciona esta información, puede ayudar a identificarlo como contribuyente.
protect_identity: Muchas agencias de ingresos estatales, incluida Idaho, están solicitando información adicional en un esfuerzo por combatir el fraude fiscal por identidad robada y protegerlo a usted y a su reembolso de impuestos.
subtitle: Proporcione su número de licencia de conducir o tarjeta de identidad cuando presente su declaración electrónica para ayudar a procesar su reembolso más rápido.
title: Necesitamos algunos detalles de su documento de identidad oficial, si tiene uno
why_ask_this: "¿Por qué pides esta información?"
id_sales_use_tax:
edit:
sales_tax_content: Este es un impuesto que se recauda en el punto de venta cuando se compran productos dentro de su estado.
Expand All @@ -2505,6 +2512,12 @@ es:
unpaid_sales_use_tax_label_html: Ingrese la <b>cantidad total de compras</b> a las que no se les aplicaron impuestos sobre las ventas o el uso.
use_tax_content: Si compra algo en otro estado (como compras en línea o compras en una tienda ubicada en otro estado) y no paga impuestos sobre las ventas, generalmente debe pagar el impuesto sobre el uso en su estado de origen.
use_tax_title: "¿Qué son los impuestos sobre el uso?"
id_spouse_state_id:
id_spouse:
encourage_sharing_html: Si usted y su cónyuge tienen una licencia de conducir o una tarjeta de identificación emitida por el estado, proporcione la información solicitada. La devolución no será rechazada si no proporciona una licencia de conducir o una identificación emitida por el estado. <br><br>Si proporciona esta información, puede ayudar a identificarlo como contribuyente.
protect_identity: Muchas agencias de ingresos estatales, incluida Idaho, están solicitando información adicional en un esfuerzo por combatir el fraude fiscal por identidad robada y protegerlo a usted y a su reembolso de impuestos.
title_html: Necesitamos algunos detalles del documento de identidad oficial de <strong>su cónyuge</strong>, si tiene uno
why_ask_this: "¿Por qué pides esta información?"
income_review:
edit:
help_text: Le preguntaremos sobre cualquier información faltante.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
class AddSateIdIndexesToStateFileIdIntake < ActiveRecord::Migration[7.1]
disable_ddl_transaction!

def change
add_column :state_file_id_intakes, :primary_state_id_id, :bigint
add_column :state_file_id_intakes, :spouse_state_id_id, :bigint
add_index :state_file_id_intakes, :primary_state_id_id, name: 'index_state_file_id_intakes_on_primary_state_id_id', algorithm: :concurrently
add_index :state_file_id_intakes, :spouse_state_id_id, name: 'index_state_file_id_intakes_on_spouse_state_id_id', algorithm: :concurrently
end
end
6 changes: 5 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema[7.1].define(version: 2024_10_28_231420) do
ActiveRecord::Schema[7.1].define(version: 2024_10_30_144351) do
# These are extensions that must be enabled in order to support this database
enable_extension "citext"
enable_extension "plpgsql"
Expand Down Expand Up @@ -1843,6 +1843,7 @@
t.string "primary_first_name"
t.string "primary_last_name"
t.string "primary_middle_initial"
t.bigint "primary_state_id_id"
t.string "primary_suffix"
t.text "raw_direct_file_data"
t.jsonb "raw_direct_file_intake_data"
Expand All @@ -1856,6 +1857,7 @@
t.string "spouse_first_name"
t.string "spouse_last_name"
t.string "spouse_middle_initial"
t.bigint "spouse_state_id_id"
t.string "spouse_suffix"
t.decimal "total_purchase_amount", precision: 12, scale: 2
t.boolean "unsubscribed_from_email", default: false, null: false
Expand All @@ -1864,6 +1866,8 @@
t.integer "withdraw_amount"
t.index ["email_address"], name: "index_state_file_id_intakes_on_email_address"
t.index ["hashed_ssn"], name: "index_state_file_id_intakes_on_hashed_ssn"
t.index ["primary_state_id_id"], name: "index_state_file_id_intakes_on_primary_state_id_id"
t.index ["spouse_state_id_id"], name: "index_state_file_id_intakes_on_spouse_state_id_id"
end

create_table "state_file_md1099_r_followups", force: :cascade do |t|
Expand Down
8 changes: 6 additions & 2 deletions spec/factories/state_file_id_intakes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,16 @@
# created_at :datetime not null
# updated_at :datetime not null
# federal_submission_id :string
# primary_state_id_id :bigint
# spouse_state_id_id :bigint
# visitor_id :string
#
# Indexes
#
# index_state_file_id_intakes_on_email_address (email_address)
# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
# index_state_file_id_intakes_on_email_address (email_address)
# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
# index_state_file_id_intakes_on_primary_state_id_id (primary_state_id_id)
# index_state_file_id_intakes_on_spouse_state_id_id (spouse_state_id_id)
#
FactoryBot.define do
factory :minimal_state_file_id_intake, class: "StateFileIdIntake"
Expand Down
15 changes: 12 additions & 3 deletions spec/features/state_file/complete_intake_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -496,11 +496,20 @@
choose I18n.t("general.affirmative")
fill_in 'state_file_id_sales_use_tax_form_total_purchase_amount', with: "290"

# ID Review page
click_on I18n.t("general.continue")

# TODO: uncomment when the name dob page is added; test fails without a name
# expect(page).to have_text(I18n.t('state_file.questions.unemployment.index.1099_label', name: StateFileIdIntake.last.primary.full_name))
expect(page).to have_text I18n.t('state_file.questions.id_primary_state_id.id_primary.title')
click_on I18n.t("state_file.questions.id_primary_state_id.id_primary.why_ask_this")
# expect Idaho specific help text
expect(page).to have_text I18n.t('state_file.questions.id_primary_state_id.id_primary.protect_identity')
choose I18n.t('state_file.questions.primary_state_id.state_id.id_type_question.dmv')
fill_in I18n.t('state_file.questions.primary_state_id.state_id.id_details.number'), with: "012345678"
select_cfa_date "state_file_primary_state_id_form_issue_date", 4.years.ago.beginning_of_year
select_cfa_date "state_file_primary_state_id_form_expiration_date", 4.years.from_now.beginning_of_year
select("Idaho", from: I18n.t('state_file.questions.primary_state_id.state_id.id_details.issue_state'))
click_on I18n.t("general.continue")

# ID Review page
click_on I18n.t("general.continue")

expect(page).to have_text I18n.t("state_file.questions.esign_declaration.edit.title", state_name: "Idaho")
Expand Down
8 changes: 6 additions & 2 deletions spec/models/state_file_id_intake_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,16 @@
# created_at :datetime not null
# updated_at :datetime not null
# federal_submission_id :string
# primary_state_id_id :bigint
# spouse_state_id_id :bigint
# visitor_id :string
#
# Indexes
#
# index_state_file_id_intakes_on_email_address (email_address)
# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
# index_state_file_id_intakes_on_email_address (email_address)
# index_state_file_id_intakes_on_hashed_ssn (hashed_ssn)
# index_state_file_id_intakes_on_primary_state_id_id (primary_state_id_id)
# index_state_file_id_intakes_on_spouse_state_id_id (spouse_state_id_id)
#
require 'rails_helper'

Expand Down
Loading