feat(routing): task to backfill procedure.defaut_groupe_instructeur_id
This commit is contained in:
parent
f6948cfd5e
commit
a5200a569f
2 changed files with 41 additions and 0 deletions
|
@ -0,0 +1,25 @@
|
|||
namespace :after_party do
|
||||
desc 'Deployment task: back_fill_procedure_defaut_groupe_instructeur_id'
|
||||
task back_fill_procedure_defaut_groupe_instructeur_id: :environment do
|
||||
puts "Running deploy task 'back_fill_procedure_defaut_groupe_instructeur_id'"
|
||||
|
||||
# Put your task implementation HERE.
|
||||
#
|
||||
|
||||
# rubocop:disable DS/Unscoped
|
||||
progress = ProgressReport.new(Procedure.unscoped.where(defaut_groupe_instructeur_id: nil).count)
|
||||
|
||||
Procedure.unscoped.where(defaut_groupe_instructeur_id: nil).find_each do |p|
|
||||
p.update_columns(defaut_groupe_instructeur_id: p.defaut_groupe_instructeur.id)
|
||||
progress.inc
|
||||
end
|
||||
# rubocop:enable DS/Unscoped
|
||||
|
||||
progress.finish
|
||||
|
||||
# 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
|
|
@ -0,0 +1,16 @@
|
|||
describe '20230407124517_back_fill_procedure_defaut_groupe_instructeur_id' do
|
||||
let(:rake_task) { Rake::Task['after_party:back_fill_procedure_defaut_groupe_instructeur_id'] }
|
||||
let(:procedure) { create(:procedure) }
|
||||
|
||||
subject(:run_task) { rake_task.invoke }
|
||||
after(:each) { rake_task.reenable }
|
||||
|
||||
it 'populates defaut_groupe_instructeur_id' do
|
||||
expect(procedure.defaut_groupe_instructeur_id).to be_nil
|
||||
|
||||
run_task
|
||||
|
||||
procedure.reload
|
||||
expect(procedure.defaut_groupe_instructeur_id).to eq(procedure.defaut_groupe_instructeur.id)
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue