update zones for new government
This commit is contained in:
parent
05a7198442
commit
c01914bc24
3 changed files with 53 additions and 0 deletions
26
app/tasks/maintenance/update_zones_task.rb
Normal file
26
app/tasks/maintenance/update_zones_task.rb
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Maintenance
|
||||||
|
class UpdateZonesTask < MaintenanceTasks::Task
|
||||||
|
def collection
|
||||||
|
config = Psych.safe_load(Rails.root.join("config", "zones.yml").read)
|
||||||
|
config['ministeres']
|
||||||
|
end
|
||||||
|
|
||||||
|
def process(ministere)
|
||||||
|
acronym = ministere.keys.first
|
||||||
|
zone = Zone.find_or_create_by!(acronym: acronym)
|
||||||
|
labels_a = ministere['labels']
|
||||||
|
labels_a.each do |label_h|
|
||||||
|
designated_on = label_h.keys.first
|
||||||
|
label = zone.labels.find_or_initialize_by(designated_on: designated_on)
|
||||||
|
label.update(name: label_h[designated_on])
|
||||||
|
end
|
||||||
|
zone.update(tchap_hs: ministere['tchap_hs']) if ministere['tchap_hs']
|
||||||
|
end
|
||||||
|
|
||||||
|
def count
|
||||||
|
collection.length
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -14,18 +14,21 @@ ministeres:
|
||||||
|
|
||||||
- MAS:
|
- MAS:
|
||||||
labels:
|
labels:
|
||||||
|
- '2024-03-12': "Non attribué"
|
||||||
- '2022-05-20': "Ministère de la Santé et de la Prévention"
|
- '2022-05-20': "Ministère de la Santé et de la Prévention"
|
||||||
- '2020-07-06': "Ministère des Solidarités et de la Santé"
|
- '2020-07-06': "Ministère des Solidarités et de la Santé"
|
||||||
tchap_hs:
|
tchap_hs:
|
||||||
- agent.social.tchap.gouv.fr
|
- agent.social.tchap.gouv.fr
|
||||||
- MSAPH:
|
- MSAPH:
|
||||||
labels:
|
labels:
|
||||||
|
- '2024-03-12': "Non attribué"
|
||||||
- '2022-05-20': "Ministère des Solidarités, de l'Autonomie et des personnes handicapées"
|
- '2022-05-20': "Ministère des Solidarités, de l'Autonomie et des personnes handicapées"
|
||||||
- '2020-07-06': "Non attribué"
|
- '2020-07-06': "Non attribué"
|
||||||
tchap_hs:
|
tchap_hs:
|
||||||
- agent.social.tchap.gouv.fr
|
- agent.social.tchap.gouv.fr
|
||||||
- MTEI:
|
- MTEI:
|
||||||
labels:
|
labels:
|
||||||
|
- '2024-03-12': "Ministère du Travail, de la Santé et des Solidarités"
|
||||||
- '2022-05-20': "Ministère du Travail, du Plein emploi et de l'Insertion"
|
- '2022-05-20': "Ministère du Travail, du Plein emploi et de l'Insertion"
|
||||||
- '2020-07-06': "Ministère du Travail"
|
- '2020-07-06': "Ministère du Travail"
|
||||||
tchap_hs:
|
tchap_hs:
|
||||||
|
@ -89,6 +92,7 @@ ministeres:
|
||||||
- agent.dev-durable.tchap.gouv.fr
|
- agent.dev-durable.tchap.gouv.fr
|
||||||
- MTE:
|
- MTE:
|
||||||
labels:
|
labels:
|
||||||
|
- '2024-03-12': "Non attribué"
|
||||||
- '2022-05-20': "Ministère de la Transition énergétique"
|
- '2022-05-20': "Ministère de la Transition énergétique"
|
||||||
- '2020-07-06': "Non attribué"
|
- '2020-07-06': "Non attribué"
|
||||||
tchap_hs:
|
tchap_hs:
|
||||||
|
|
23
spec/tasks/maintenance/update_zones_task_spec.rb
Normal file
23
spec/tasks/maintenance/update_zones_task_spec.rb
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
module Maintenance
|
||||||
|
RSpec.describe UpdateZonesTask do
|
||||||
|
describe "#process" do
|
||||||
|
subject(:process) { described_class.process(ministere) }
|
||||||
|
let(:ministere) {
|
||||||
|
{
|
||||||
|
"MTEI" => nil,
|
||||||
|
"labels" => [{ "2024-03-12" => "Ministère du Travail, de la Santé et des Solidarités" }, { "2022-05-20" => "Ministère du Travail, du Plein emploi et de l'Insertion" }, { "2020-07-06" => "Ministère du Travail" }],
|
||||||
|
"tchap_hs" => ["agent.social.tchap.gouv.fr"]
|
||||||
|
}
|
||||||
|
# Object to be processed in a single iteration of this task
|
||||||
|
}
|
||||||
|
it 'updates ministere' do
|
||||||
|
subject
|
||||||
|
expect(Zone.find_by(acronym: 'MTEI').current_label).to eq("Ministère du Travail, de la Santé et des Solidarités")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue