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:
commit
1f48f7e2dc
4 changed files with 53 additions and 19 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:
|
||||
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:
|
||||
|
|
|
@ -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
|
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