Merge branch 'main' into feature/prefill_civility
This commit is contained in:
commit
9e083ea3f7
85 changed files with 1846 additions and 406 deletions
|
@ -196,7 +196,7 @@ describe Champ do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#search_terms' do
|
||||
describe '#search_terms', vcr: { cassette_name: 'api_geo_all' } do
|
||||
let(:champ) { type_de_champ.champ.build(value: value) }
|
||||
subject { champ.search_terms }
|
||||
|
||||
|
@ -247,9 +247,9 @@ describe Champ do
|
|||
|
||||
context 'for département champ' do
|
||||
let(:type_de_champ) { build(:type_de_champ_departements) }
|
||||
let(:value) { "69 - Rhône" }
|
||||
let(:value) { "69" }
|
||||
|
||||
it { is_expected.to eq([value]) }
|
||||
it { is_expected.to eq(['69 – Rhône']) }
|
||||
end
|
||||
|
||||
context 'for dossier link champ' do
|
||||
|
@ -319,9 +319,9 @@ describe Champ do
|
|||
|
||||
context 'for pays champ' do
|
||||
let(:type_de_champ) { build(:type_de_champ_pays) }
|
||||
let(:value) { "FRANCE" }
|
||||
let(:value) { "FR" }
|
||||
|
||||
it { is_expected.to eq([value]) }
|
||||
it { is_expected.to eq(['France']) }
|
||||
end
|
||||
|
||||
context 'for phone champ' do
|
||||
|
@ -340,9 +340,9 @@ describe Champ do
|
|||
|
||||
context 'for region champ' do
|
||||
let(:type_de_champ) { build(:type_de_champ_regions) }
|
||||
let(:value) { "Île-de-France" }
|
||||
let(:value) { "11" }
|
||||
|
||||
it { is_expected.to eq([value]) }
|
||||
it { is_expected.to eq(['Île-de-France']) }
|
||||
end
|
||||
|
||||
context 'for siret champ' do
|
||||
|
|
64
spec/models/champs/departement_champ_spec.rb
Normal file
64
spec/models/champs/departement_champ_spec.rb
Normal file
|
@ -0,0 +1,64 @@
|
|||
describe Champs::DepartementChamp, type: :model do
|
||||
let(:memory_store) { ActiveSupport::Cache.lookup_store(:memory_store) }
|
||||
|
||||
before do
|
||||
allow(Rails).to receive(:cache).and_return(memory_store)
|
||||
Rails.cache.clear
|
||||
end
|
||||
|
||||
let(:champ) { described_class.new }
|
||||
|
||||
describe 'value', vcr: { cassette_name: 'api_geo_departements' } do
|
||||
it 'with code' do
|
||||
champ.value = '01'
|
||||
expect(champ.external_id).to eq('01')
|
||||
expect(champ.code).to eq('01')
|
||||
expect(champ.name).to eq('Ain')
|
||||
expect(champ.value).to eq('Ain')
|
||||
expect(champ.selected).to eq('01')
|
||||
expect(champ.to_s).to eq('01 – Ain')
|
||||
end
|
||||
|
||||
it 'with nil' do
|
||||
champ.write_attribute(:value, 'Ain')
|
||||
champ.write_attribute(:external_id, '01')
|
||||
champ.value = nil
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.code).to be_nil
|
||||
expect(champ.name).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with blank' do
|
||||
champ.write_attribute(:value, 'Ain')
|
||||
champ.write_attribute(:external_id, '01')
|
||||
champ.value = ''
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with initial nil' do
|
||||
champ.write_attribute(:value, nil)
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.code).to be_nil
|
||||
expect(champ.name).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with initial name' do
|
||||
champ.write_attribute(:value, '01 - Ain')
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.code).to eq('01')
|
||||
expect(champ.name).to eq('Ain')
|
||||
expect(champ.value).to eq('01 - Ain')
|
||||
expect(champ.selected).to eq('01')
|
||||
expect(champ.to_s).to eq('01 – Ain')
|
||||
end
|
||||
end
|
||||
end
|
71
spec/models/champs/pays_champ_spec.rb
Normal file
71
spec/models/champs/pays_champ_spec.rb
Normal file
|
@ -0,0 +1,71 @@
|
|||
describe Champs::PaysChamp, type: :model do
|
||||
let(:champ) { described_class.new }
|
||||
|
||||
describe 'value' do
|
||||
it 'with code' do
|
||||
champ.value = 'GB'
|
||||
expect(champ.external_id).to eq('GB')
|
||||
expect(champ.value).to eq('Royaume-Uni')
|
||||
expect(champ.selected).to eq('GB')
|
||||
expect(champ.to_s).to eq('Royaume-Uni')
|
||||
I18n.with_locale(:en) do
|
||||
expect(champ.to_s).to eq('United Kingdom')
|
||||
end
|
||||
I18n.with_locale(:fr) do
|
||||
expect(champ.to_s).to eq('Royaume-Uni')
|
||||
end
|
||||
end
|
||||
|
||||
it 'with name' do
|
||||
champ.value = 'Royaume-Uni'
|
||||
expect(champ.external_id).to eq('GB')
|
||||
expect(champ.value).to eq('Royaume-Uni')
|
||||
expect(champ.selected).to eq('GB')
|
||||
expect(champ.to_s).to eq('Royaume-Uni')
|
||||
end
|
||||
|
||||
it 'with nil' do
|
||||
champ.write_attribute(:value, 'Royaume-Uni')
|
||||
champ.write_attribute(:external_id, 'GB')
|
||||
champ.value = nil
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with blank' do
|
||||
champ.write_attribute(:value, 'Royaume-Uni')
|
||||
champ.write_attribute(:external_id, 'GB')
|
||||
champ.value = ''
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with initial nil' do
|
||||
champ.write_attribute(:value, nil)
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with initial name' do
|
||||
champ.write_attribute(:value, 'Royaume-Uni')
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to eq('Royaume-Uni')
|
||||
expect(champ.selected).to eq('GB')
|
||||
expect(champ.to_s).to eq('Royaume-Uni')
|
||||
end
|
||||
|
||||
it 'with initial bad name' do
|
||||
champ.write_attribute(:value, 'ROYAUME-UNIS')
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to eq('ROYAUME-UNIS')
|
||||
expect(champ.selected).to eq('ROYAUME-UNIS')
|
||||
expect(champ.to_s).to eq('ROYAUME-UNIS')
|
||||
end
|
||||
end
|
||||
end
|
56
spec/models/champs/region_champ_spec.rb
Normal file
56
spec/models/champs/region_champ_spec.rb
Normal file
|
@ -0,0 +1,56 @@
|
|||
describe Champs::RegionChamp, type: :model do
|
||||
let(:memory_store) { ActiveSupport::Cache.lookup_store(:memory_store) }
|
||||
|
||||
before do
|
||||
allow(Rails).to receive(:cache).and_return(memory_store)
|
||||
Rails.cache.clear
|
||||
end
|
||||
|
||||
let(:champ) { described_class.new }
|
||||
|
||||
describe 'value', vcr: { cassette_name: 'api_geo_regions' } do
|
||||
it 'with code' do
|
||||
champ.value = '01'
|
||||
expect(champ.external_id).to eq('01')
|
||||
expect(champ.value).to eq('Guadeloupe')
|
||||
expect(champ.selected).to eq('01')
|
||||
expect(champ.to_s).to eq('Guadeloupe')
|
||||
end
|
||||
|
||||
it 'with nil' do
|
||||
champ.write_attribute(:value, 'Guadeloupe')
|
||||
champ.write_attribute(:external_id, '01')
|
||||
champ.value = nil
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with blank' do
|
||||
champ.write_attribute(:value, 'Guadeloupe')
|
||||
champ.write_attribute(:external_id, '01')
|
||||
champ.value = ''
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with initial nil' do
|
||||
champ.write_attribute(:value, nil)
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to be_nil
|
||||
expect(champ.selected).to be_nil
|
||||
expect(champ.to_s).to eq('')
|
||||
end
|
||||
|
||||
it 'with initial name' do
|
||||
champ.write_attribute(:value, 'Guadeloupe')
|
||||
expect(champ.external_id).to be_nil
|
||||
expect(champ.value).to eq('Guadeloupe')
|
||||
expect(champ.selected).to eq('01')
|
||||
expect(champ.to_s).to eq('Guadeloupe')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -72,6 +72,17 @@ describe Dossier do
|
|||
expect(dossier.pending_changes).not_to be_empty
|
||||
expect(dossier.can_rebase?).to be_falsey
|
||||
end
|
||||
|
||||
context 'with a value' do
|
||||
before do
|
||||
dossier.champs.find_by(type_de_champ: type_de_champ).update(value: 'a value')
|
||||
end
|
||||
|
||||
it 'should be true' do
|
||||
expect(dossier.pending_changes).not_to be_empty
|
||||
expect(dossier.can_rebase?).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'with type de champ change type' do
|
||||
|
|
|
@ -17,7 +17,7 @@ RSpec.describe PrefillDescription, type: :model do
|
|||
|
||||
describe '#types_de_champ' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:type_de_champ) { create(:type_de_champ_text, procedure: procedure) }
|
||||
let!(:type_de_champ) { create(:type_de_champ_text, procedure: procedure) }
|
||||
let(:prefill_description) { described_class.new(procedure) }
|
||||
|
||||
it { expect(prefill_description.types_de_champ).to match([type_de_champ]) }
|
||||
|
@ -32,6 +32,19 @@ RSpec.describe PrefillDescription, type: :model do
|
|||
|
||||
it_behaves_like "filters out non fillable types de champ", :type_de_champ_header_section
|
||||
it_behaves_like "filters out non fillable types de champ", :type_de_champ_explication
|
||||
|
||||
context 'when the procedure contains prefillable and non prefillable types de champ' do
|
||||
let!(:non_prefillable_type_de_champ) { create(:type_de_champ_carte, procedure: procedure) }
|
||||
let!(:prefillable_type_de_champ) { create(:type_de_champ_decimal_number, procedure: procedure) }
|
||||
|
||||
it "sort types de champ by putting prefillable ones first" do
|
||||
expect(prefill_description.types_de_champ).to eq([
|
||||
type_de_champ,
|
||||
prefillable_type_de_champ,
|
||||
non_prefillable_type_de_champ
|
||||
])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#include?' do
|
||||
|
|
|
@ -1243,7 +1243,7 @@ describe Procedure do
|
|||
|
||||
describe '.missing_zones?' do
|
||||
before do
|
||||
Flipper.enable :zonage
|
||||
Rails.application.config.ds_zonage_enabled = true
|
||||
end
|
||||
|
||||
let(:procedure) { create(:procedure, zones: []) }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue