update zones for new government

This commit is contained in:
Christophe Robillard 2024-03-06 19:03:30 +01:00 committed by krichtof
parent 05a7198442
commit c01914bc24
3 changed files with 53 additions and 0 deletions

View 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

View file

@ -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:

View 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