Skip to content

Commit

Permalink
Set started at on claims #1
Browse files Browse the repository at this point in the history
Before the introduction of the journey session claims were created at
the start of the claimant journey, however as claims are now created at
the end of the claimant journey we can no longer use the claim's created
at timestamp to infer when the journey was started.
  • Loading branch information
rjlynch committed Sep 24, 2024
1 parent 874d30e commit 6929702
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 2 deletions.
2 changes: 2 additions & 0 deletions app/forms/claim_submission_base_form.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ def build_claim

claim.eligibility = main_eligibility

claim.started_at = journey_session.created_at

answers.attributes.each do |name, value|
if claim.respond_to?(:"#{name}=")
claim.public_send(:"#{name}=", value)
Expand Down
3 changes: 2 additions & 1 deletion app/models/claim.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ class Claim < ApplicationRecord
onelogin_idv_date_of_birth: true,
paye_reference: true,
practitioner_email_address: true,
provider_contact_name: true
provider_contact_name: true,
started_at: false
}.freeze
DECISION_DEADLINE = 12.weeks
DECISION_DEADLINE_WARNING_POINT = 2.weeks
Expand Down
1 change: 1 addition & 0 deletions config/analytics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ shared:
- logged_in_with_onelogin
- onelogin_auth_at
- onelogin_idv_at
- started_at
:decisions:
- id
- result
Expand Down
5 changes: 5 additions & 0 deletions db/migrate/20240924091408_add_started_at_to_claims.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddStartedAtToClaims < ActiveRecord::Migration[7.0]
def change
add_column :claims, :started_at, :timestamp
end
end
3 changes: 2 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.0].define(version: 2024_09_04_150711) do
ActiveRecord::Schema[7.0].define(version: 2024_09_24_091408) do
# These are extensions that must be enabled in order to support this database
enable_extension "citext"
enable_extension "pg_trgm"
Expand Down Expand Up @@ -111,6 +111,7 @@
t.text "onelogin_idv_first_name"
t.text "onelogin_idv_last_name"
t.date "onelogin_idv_date_of_birth"
t.datetime "started_at", precision: nil
t.index ["academic_year"], name: "index_claims_on_academic_year"
t.index ["created_at"], name: "index_claims_on_created_at"
t.index ["eligibility_type", "eligibility_id"], name: "index_claims_on_eligibility_type_and_eligibility_id"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,8 @@

expect(journey_session.claim).to eq(claim)

expect(claim.started_at).to eq(journey_session.created_at)

expect(ClaimMailer).to have_received(:submitted).with(claim)
expect(ClaimVerifierJob).to have_received(:perform_later).with(claim)
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
expect(claim.logged_in_with_onelogin).to eq(answers.logged_in_with_onelogin)
expect(claim.onelogin_credentials).to eq(answers.onelogin_credentials)
expect(claim.onelogin_user_info).to eq(answers.onelogin_user_info)
expect(claim.started_at).to eql(journey_session.created_at)

expect(claim.onelogin_uid).to eql(answers.onelogin_uid)
expect(claim.onelogin_auth_at).to eql(answers.onelogin_auth_at)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@

expect(claim.reference).to be_present

expect(claim.started_at).to eq(journey_session.created_at)

eligibility_answers.each do |attribute, value|
expect(eligibility.public_send(attribute)).to eq(value)
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@
eq("Policies::StudentLoans::Eligibility")
)

expect(claim.started_at).to eq(journey_session.created_at)

expect(journey_session.claim).to eq(claim)

expect(ClaimMailer).to have_received(:submitted).with(claim)
Expand Down

0 comments on commit 6929702

Please sign in to comment.