fix(Champs::DossierLinkChamp): when required, should point to existing dossier

This commit is contained in:
mfo 2024-09-06 11:05:21 +02:00
parent 9fd53b182a
commit eb8b9a13ca
No known key found for this signature in database
GPG key ID: 7CE3E1F5B794A8EC
5 changed files with 54 additions and 6 deletions

View file

@ -36,4 +36,34 @@ describe Champs::DossierLinkChamp, type: :model do
end
end
end
describe 'validation' do
let(:champ) { Champs::DossierLinkChamp.new(value:, dossier: build(:dossier)) }
before do
allow(champ).to receive(:type_de_champ).and_return(build(:type_de_champ_dossier_link, mandatory:))
champ.run_callbacks(:validation)
end
subject { champ.validate(:champs_public_value) }
context 'when not mandatory' do
let(:mandatory) { false }
let(:value) { nil }
it { is_expected.to be_truthy }
end
context 'when mandatory' do
let(:mandatory) { true }
context 'when valid id' do
let(:value) { create(:dossier).id }
it { is_expected.to be_truthy }
end
context 'when invalid id' do
let(:value) { 'kthxbye' }
it { is_expected.to be_falsey }
end
end
end
end