diff --git a/lib/tasks/deployment/20220922151100_populate_zones.rake b/lib/tasks/deployment/20220922151100_populate_zones.rake new file mode 100644 index 000000000..a9d42b4e1 --- /dev/null +++ b/lib/tasks/deployment/20220922151100_populate_zones.rake @@ -0,0 +1,28 @@ +namespace :after_party do + desc 'Deployment task: populate_zones' + task populate_zones: :environment do + if Flipper.enabled? :zonage + puts "Running deploy task 'populate_zones'" + 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 = 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 + + # Update task as completed. If you remove the line below, the task will + # run with every deploy (or every time you call after_party:run). + AfterParty::TaskRecord + .create version: AfterParty::TaskRecorder.new(__FILE__).timestamp + end +end diff --git a/lib/tasks/populate_zones.rake b/lib/tasks/populate_zones.rake deleted file mode 100644 index 74c206452..000000000 --- a/lib/tasks/populate_zones.rake +++ /dev/null @@ -1,21 +0,0 @@ -namespace :zones do - task populate_zones: :environment do - puts "Running deploy task 'populate_zones'" - - 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 = 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 diff --git a/spec/lib/tasks/populate_zones_spec.rb b/spec/lib/tasks/deployment/20220922151100_populate_zones_spec.rake similarity index 82% rename from spec/lib/tasks/populate_zones_spec.rb rename to spec/lib/tasks/deployment/20220922151100_populate_zones_spec.rake index f6aa50b59..cbb2bf818 100644 --- a/spec/lib/tasks/populate_zones_spec.rb +++ b/spec/lib/tasks/deployment/20220922151100_populate_zones_spec.rake @@ -1,6 +1,7 @@ -describe 'populate_zones' do - let(:rake_task) { Rake::Task['zones:populate_zones'] } +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 diff --git a/spec/services/update_zone_to_procedures_service_spec.rb b/spec/services/update_zone_to_procedures_service_spec.rb index 1a8e186bc..59cece854 100644 --- a/spec/services/update_zone_to_procedures_service_spec.rb +++ b/spec/services/update_zone_to_procedures_service_spec.rb @@ -1,10 +1,11 @@ describe UpdateZoneToProceduresService do before(:each) do - Rake::Task['zones:populate_zones'].invoke + Flipper.enable :zonage + Rake::Task['after_party:populate_zones'].invoke end after(:each) do - Rake::Task['zones:populate_zones'].reenable + Rake::Task['after_party:populate_zones'].reenable end describe '#call' do diff --git a/spec/views/administrateurs/procedures/edit.html.haml_spec.rb b/spec/views/administrateurs/procedures/edit.html.haml_spec.rb index 3be2ce535..02235dca6 100644 --- a/spec/views/administrateurs/procedures/edit.html.haml_spec.rb +++ b/spec/views/administrateurs/procedures/edit.html.haml_spec.rb @@ -1,7 +1,7 @@ describe 'administrateurs/procedures/edit.html.haml' do let(:logo) { fixture_file_upload('spec/fixtures/files/logo_test_procedure.png', 'image/png') } let(:procedure) { create(:procedure, logo: logo, lien_site_web: 'http://some.website') } - let(:populate_zones_task) { Rake::Task['zones:populate_zones'] } + let(:populate_zones_task) { Rake::Task['after_party:populate_zones'] } before do Flipper.enable(:zonage)