update zones with new government

This commit is contained in:
Christophe Robillard 2022-08-12 17:19:42 +02:00
parent 59cce4203a
commit bc5ea8e906
3 changed files with 54 additions and 20 deletions

View file

@ -1,37 +1,58 @@
ministeres:
- MAA:
label: "Ministère de l'Agriculture et de l'Alimentation"
- '2022-05-20': "Ministère de l'Agriculture et de la Souveraineté alimentaire"
- '2020-07-06': "Ministère de l'Agriculture et de l'Alimentation"
- MC:
label: "Ministère de la Culture"
- '2020-07-06': "Ministère de la Culture"
- MAS:
label: "Ministère des Solidarités et de la Santé"
- '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é"
- MSAPH:
- '2022-05-20': "Ministère des Solidarités, de l'Autonomie et des personnes handicapées"
- '2020-07-06': "NA"
- MTEI:
label: "Ministère du Travail"
- '2022-05-20': "Ministère du Travail, du Plein emploi et de l'Insertion"
- '2020-07-06': "Ministère du Travail"
- MEAE:
label: "Ministère de l'Europe et des Affaires étrangères"
- '2020-07-06': "Ministère de l'Europe et des Affaires étrangères"
- MEF:
label: "Ministère de l'Économie, des Finances et de la Relance"
- '2022-05-20': "Ministère de l'Économie, des Finances et de la Souveraineté industrielle et numérique"
- '2020-07-06': "Ministère de l'Économie, des Finances et de la Relance"
- MJS:
label: "Ministère de la Jeunesse et des Sports"
- '2022-05-20': "NA"
- '2020-07-06': "Ministère de la Jeunesse et des Sports"
- MSJO:
- '2022-05-20': "Ministère des Sports et des Jeux olympiques et paralympiques"
- '2020-07-06': "NA"
- MEN:
label: "Ministère de l'Éducation nationale, de la Jeunesse et des Sports"
- '2022-05-20': "Ministère de l'Éducation nationale et de la Jeunesse"
- '2020-07-06': "Ministère de l'Éducation nationale, de la Jeunesse et des Sports"
- ESR:
label: "Ministère de l'Enseignement supérieur, de la Recherche et de l'Innovation"
- '2022-05-20': "Ministère de l'Enseignement supérieur et de la Recherche"
- '2020-07-06': "Ministère de l'Enseignement supérieur, de la Recherche et de l'Innovation"
- MI:
label: "Ministère de l'Intérieur"
- '2022-05-20': "Ministère de l'Intérieur et des Outre-mer"
- '2020-07-06': "Ministère de l'Intérieur"
- MINARM:
label: "Ministère des Armées"
- '2020-07-06': "Ministère des Armées"
- MJ:
label: "Ministère de la Justice"
- '2020-07-06': "Ministère de la Justice"
- MTES:
label: "Ministère de la Transition écologique"
- '2022-05-20': "Ministère de la Transition écologique et de la Cohésion des territoires"
- '2020-07-06': "Ministère de la Transition écologique"
- MTE:
- '2022-05-20': "Ministère de la Transition énergétique"
- '2020-07-06': "NA"
- MCTRCT:
label: "Ministère de la Cohésion des territoires et des Relations avec les collectivités territoriales"
- '2022-05-20': "NA"
- '2020-07-06': "Ministère de la Cohésion des territoires et des Relations avec les collectivités territoriales"
- PM:
label: "Premier ministre"
- '2020-07-06': "Premier ministre"
- MER:
label: "Ministère de la Mer"
- '2022-05-20': "NA"
- '2020-07-06': "Ministère de la Mer"
- MTFP:
label: "Ministère de la Transformation et de la Fonction publiques"
- '2020-07-06': "Ministère de la Transformation et de la Fonction publiques"
- OM:
label: "Ministère des Outre-mer"
- '2022-05-20': "NA"
- '2020-07-06': "Ministère des Outre-mer"

View file

@ -2,11 +2,20 @@ namespace :zones do
task populate_zones: :environment do
puts "Running deploy task 'populate_zones'"
Zone.create!(acronym: 'COLLECTIVITE', label: 'Collectivité territoriale')
collectivite = Zone.find_or_create_by!(acronym: 'COLLECTIVITE')
coll_label = collectivite.labels.find_or_initialize_by(designated_on: Date.parse('1977-07-30'))
coll_label.update(name: 'Collectivité territoriale')
config = Psych.safe_load(File.read(Rails.root.join("config", "zones.yml")))
config["ministeres"].each do |ministere|
acronym = ministere.keys.first
Zone.create!(acronym: acronym, label: ministere["label"])
zone = Zone.find_or_create_by!(acronym: acronym)
labels_a = ministere[acronym]
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
end
end
end

View file

@ -10,5 +10,9 @@ describe 'populate_zones' do
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