backfill departement services
This commit is contained in:
parent
42d3052c4f
commit
4130529854
2 changed files with 59 additions and 0 deletions
21
app/tasks/maintenance/backfill_departement_services_task.rb
Normal file
21
app/tasks/maintenance/backfill_departement_services_task.rb
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Maintenance
|
||||||
|
class BackfillDepartementServicesTask < MaintenanceTasks::Task
|
||||||
|
def collection
|
||||||
|
Service.where.not(etablissement_infos: nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def process(service)
|
||||||
|
code_insee_localite = service.etablissement_infos['code_insee_localite']
|
||||||
|
if code_insee_localite.present?
|
||||||
|
departement = CodeInsee.new(code_insee_localite).to_departement
|
||||||
|
service.update!(departement: departement)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def count
|
||||||
|
collection.count
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,38 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
module Maintenance
|
||||||
|
describe BackfillDepartementServicesTask do
|
||||||
|
describe "#process" do
|
||||||
|
subject(:process) { described_class.process(service) }
|
||||||
|
context 'with service with code_insee_localite' do
|
||||||
|
let(:service) {
|
||||||
|
create(:service,
|
||||||
|
etablissement_infos: {
|
||||||
|
adresse: "70 rue du Louvre\n75002\nPARIS\nFRANCE",
|
||||||
|
code_insee_localite: "75002"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
it "updates departement" do
|
||||||
|
subject
|
||||||
|
expect(service.reload.departement).to eq "75"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with service with code_insee_localite' do
|
||||||
|
let(:service) {
|
||||||
|
create(:service,
|
||||||
|
etablissement_infos: {
|
||||||
|
adresse: "70 rue du Louvre\n75002\nPARIS\nFRANCE"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
it 'does nothing if no code_insee_localite' do
|
||||||
|
subject
|
||||||
|
expect(service.reload.departement).to eq nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue