Allow prefill civility

This commit is contained in:
Damien Le Thiec 2022-12-19 22:00:22 +01:00
parent 32b5daeb9a
commit c4e427642f
6 changed files with 9 additions and 4 deletions

View file

@ -21,6 +21,8 @@
# type_de_champ_id :integer # type_de_champ_id :integer
# #
class Champs::CiviliteChamp < Champ class Champs::CiviliteChamp < Champ
validates :value, inclusion: ["M.", "Mme"], allow_nil: true, allow_blank: false
def html_label? def html_label?
false false
end end

View file

@ -33,7 +33,8 @@ class PrefillParams
class PrefillValue class PrefillValue
NEED_VALIDATION_TYPES_DE_CHAMPS = [ NEED_VALIDATION_TYPES_DE_CHAMPS = [
TypeDeChamp.type_champs.fetch(:decimal_number), TypeDeChamp.type_champs.fetch(:decimal_number),
TypeDeChamp.type_champs.fetch(:integer_number) TypeDeChamp.type_champs.fetch(:integer_number),
TypeDeChamp.type_champs.fetch(:civilite)
] ]
attr_reader :champ, :value attr_reader :champ, :value

View file

@ -259,7 +259,8 @@ class TypeDeChamp < ApplicationRecord
TypeDeChamp.type_champs.fetch(:integer_number), TypeDeChamp.type_champs.fetch(:integer_number),
TypeDeChamp.type_champs.fetch(:email), TypeDeChamp.type_champs.fetch(:email),
TypeDeChamp.type_champs.fetch(:phone), TypeDeChamp.type_champs.fetch(:phone),
TypeDeChamp.type_champs.fetch(:iban) TypeDeChamp.type_champs.fetch(:iban),
TypeDeChamp.type_champs.fetch(:civilite)
]) ])
end end

View file

@ -63,7 +63,7 @@ FactoryBot.define do
factory :champ_civilite, class: 'Champs::CiviliteChamp' do factory :champ_civilite, class: 'Champs::CiviliteChamp' do
type_de_champ { association :type_de_champ_civilite, procedure: dossier.procedure } type_de_champ { association :type_de_champ_civilite, procedure: dossier.procedure }
value { 'Monsieur' } value { 'M.' }
end end
factory :champ_email, class: 'Champs::EmailChamp' do factory :champ_email, class: 'Champs::EmailChamp' do

View file

@ -89,6 +89,7 @@ RSpec.describe PrefillParams do
it_behaves_like "a champ public value that is authorized", :type_de_champ_email, "value" it_behaves_like "a champ public value that is authorized", :type_de_champ_email, "value"
it_behaves_like "a champ public value that is authorized", :type_de_champ_phone, "value" it_behaves_like "a champ public value that is authorized", :type_de_champ_phone, "value"
it_behaves_like "a champ public value that is authorized", :type_de_champ_iban, "value" it_behaves_like "a champ public value that is authorized", :type_de_champ_iban, "value"
it_behaves_like "a champ public value that is authorized", :type_de_champ_civilite, "M."
it_behaves_like "a champ public value that is unauthorized", :type_de_champ_decimal_number, "non decimal string" it_behaves_like "a champ public value that is unauthorized", :type_de_champ_decimal_number, "non decimal string"
it_behaves_like "a champ public value that is unauthorized", :type_de_champ_integer_number, "non integer string" it_behaves_like "a champ public value that is unauthorized", :type_de_champ_integer_number, "non integer string"

View file

@ -242,13 +242,13 @@ describe TypeDeChamp do
it_behaves_like "a prefillable type de champ", :type_de_champ_email it_behaves_like "a prefillable type de champ", :type_de_champ_email
it_behaves_like "a prefillable type de champ", :type_de_champ_phone it_behaves_like "a prefillable type de champ", :type_de_champ_phone
it_behaves_like "a prefillable type de champ", :type_de_champ_iban it_behaves_like "a prefillable type de champ", :type_de_champ_iban
it_behaves_like "a prefillable type de champ", :type_de_champ_civilite
it_behaves_like "a non-prefillable type de champ", :type_de_champ_number it_behaves_like "a non-prefillable type de champ", :type_de_champ_number
it_behaves_like "a non-prefillable type de champ", :type_de_champ_communes it_behaves_like "a non-prefillable type de champ", :type_de_champ_communes
it_behaves_like "a non-prefillable type de champ", :type_de_champ_dossier_link it_behaves_like "a non-prefillable type de champ", :type_de_champ_dossier_link
it_behaves_like "a non-prefillable type de champ", :type_de_champ_checkbox it_behaves_like "a non-prefillable type de champ", :type_de_champ_checkbox
it_behaves_like "a non-prefillable type de champ", :type_de_champ_titre_identite it_behaves_like "a non-prefillable type de champ", :type_de_champ_titre_identite
it_behaves_like "a non-prefillable type de champ", :type_de_champ_civilite
it_behaves_like "a non-prefillable type de champ", :type_de_champ_yes_no it_behaves_like "a non-prefillable type de champ", :type_de_champ_yes_no
it_behaves_like "a non-prefillable type de champ", :type_de_champ_date it_behaves_like "a non-prefillable type de champ", :type_de_champ_date
it_behaves_like "a non-prefillable type de champ", :type_de_champ_datetime it_behaves_like "a non-prefillable type de champ", :type_de_champ_datetime