Skip to content

Commit

Permalink
Fix Validator for unusable code (prevent error) (#1373)
Browse files Browse the repository at this point in the history
  • Loading branch information
pskl authored Feb 5, 2025
1 parent a25fd61 commit 82dc9e7
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
2 changes: 2 additions & 0 deletions app/models/asp/payment_request_validator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ def check_insee_code
return unless student.born_in_france? && student.birthplace_city_insee_code.blank?

add_error(:missing_birthplace_city_insee_code)
rescue InseeCountryCodeMapper::UnusableCountryCode
add_error(:unusable_birthplace_country_insee_code)
end

def check_pfmp_overlaps
Expand Down
1 change: 1 addition & 0 deletions config/locales/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ fr:
missing_biological_sex: "La civilité de l'élève n'est pas renseignée (Homme / Femme). Veuillez faire le nécessaire dans BEE ou COLENTAGRI (Fregata) pour que cette information soit renseignée."
missing_birthplace_city_insee_code: "La commune de naissance de l'élève né en France n'est pas renseignée. Veuillez faire le nécessaire dans BEE ou COLENTAGRI (Fregata) pour que cette information soit renseignée."
missing_birthplace_country_insee_code: "Le pays de naissance de l'élève né à l'étranger n'est pas renseigné. Veuillez faire le nécessaire dans BEE ou COLENTAGRI (Fregata) pour que cette information soit renseignée."
unusable_birthplace_country_insee_code: "Le code du pays de naissance n'est pas utilisable. Veuillez vérifier l'information dans BEE ou COLENTAGRI (Fregata)."
student_type: "L'élève doit avoir un statut scolaire. Causes possibles de blocage : l'élève a un statut d'apprenti, un autre statut, ou le statut n'est pas renseigné."
excluded_schooling: "La scolarité mentionnée est exclue de la procédure"
missing_rib: "Les coordonnées bancaires sont manquantes"
Expand Down
13 changes: 13 additions & 0 deletions spec/models/asp/payment_request_validator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,19 @@
end
end

context "when birthplace country INSEE code is unusable" do
before do
allow(student).to receive(:birthplace_country_insee_code)
.and_raise(InseeCountryCodeMapper::UnusableCountryCode)
end

it "adds an error" do
expect { validator.send(:check_insee_code) }
.to change { payment_request.errors.details[:ready_state_validation] }
.to include(a_hash_including(error: :unusable_birthplace_country_insee_code))
end
end

context "when born in France and birthplace city INSEE code is blank" do
before do
allow(student).to receive(:born_in_france?).and_return(true)
Expand Down

0 comments on commit 82dc9e7

Please sign in to comment.