Fix type_de_champ validation error
This commit is contained in:
parent
ee62d6fca4
commit
0562e2728f
2 changed files with 19 additions and 1 deletions
|
@ -53,7 +53,7 @@ class TypesDeChamp::LinkedDropDownListTypeDeChamp < TypesDeChamp::TypeDeChampBas
|
|||
|
||||
def check_presence_of_primary_options
|
||||
if !PRIMARY_PATTERN.match?(drop_down_list.options.second)
|
||||
errors.add(libelle, "doit commencer par une entrée de menu primaire de la forme <code style='white-space: pre-wrap;'>--texte--</code>")
|
||||
errors.add(libelle.presence || "La liste", "doit commencer par une entrée de menu primaire de la forme <code style='white-space: pre-wrap;'>--texte--</code>")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -148,4 +148,22 @@ shared_examples 'type_de_champ_spec' do
|
|||
expect(cloned_procedure.types_de_champ.first.types_de_champ).not_to be_empty
|
||||
end
|
||||
end
|
||||
|
||||
describe "linked_drop_down_list" do
|
||||
let(:type_de_champ) { create(:type_de_champ_linked_drop_down_list) }
|
||||
|
||||
it 'should validate without label' do
|
||||
type_de_champ.drop_down_list_value = 'toto'
|
||||
expect(type_de_champ.validate).to be_falsey
|
||||
messages = type_de_champ.errors.full_messages
|
||||
expect(messages.size).to eq(1)
|
||||
expect(messages.first.starts_with?("#{type_de_champ.libelle} doit commencer par")).to be_truthy
|
||||
|
||||
type_de_champ.libelle = ''
|
||||
expect(type_de_champ.validate).to be_falsey
|
||||
messages = type_de_champ.errors.full_messages
|
||||
expect(messages.size).to eq(2)
|
||||
expect(messages.last.starts_with?("La liste doit commencer par")).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue