Merge pull request #10077 from demarches-simplifiees/update-zones

Met à jour les zones en fonction du nouveau découpage des ministères
This commit is contained in:
mfo 2024-03-07 09:41:02 +00:00 committed by GitHub
commit 1f48f7e2dc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 53 additions and 19 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:
labels:
- '2024-03-12': "Non attribué"
- '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é"
tchap_hs:
- agent.social.tchap.gouv.fr
- MSAPH:
labels:
- '2024-03-12': "Non attribué"
- '2022-05-20': "Ministère des Solidarités, de l'Autonomie et des personnes handicapées"
- '2020-07-06': "Non attribué"
tchap_hs:
- agent.social.tchap.gouv.fr
- MTEI:
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:
@ -89,6 +92,7 @@ ministeres:
- agent.dev-durable.tchap.gouv.fr
- MTE:
labels:
- '2024-03-12': "Non attribué"
- '2022-05-20': "Ministère de la Transition énergétique"
- '2020-07-06': "Non attribué"
tchap_hs:

View file

@ -1,19 +0,0 @@
describe '20220922151100_populate_zones' do
let(:rake_task) { Rake::Task['after_party:populate_zones'] }
subject(:run_task) do
Flipper.enable :zonage
rake_task.invoke
end
after(:each) do
rake_task.reenable
end
it 'populates zones' do
run_task
expect(Zone.find_by(acronym: 'PM').label).to eq "Premier ministre"
expect(Zone.find_by(acronym: 'MTEI').labels.first.designated_on).to eq Date.parse('2022-05-20')
expect(Zone.find_by(acronym: 'MTEI').labels.first.name).to eq "Ministère du Travail, du Plein emploi et de l'Insertion"
expect(Zone.find_by(acronym: 'MTEI').labels.last.designated_on).to eq Date.parse('2020-07-06')
expect(Zone.find_by(acronym: 'MTEI').labels.last.name).to eq "Ministère du Travail"
end
end

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