cleanup(dossier): remove unused forks
This commit is contained in:
parent
7c4edf882e
commit
737c1a9faa
2 changed files with 41 additions and 0 deletions
18
app/tasks/maintenance/t20241202remove_unused_forks_task.rb
Normal file
18
app/tasks/maintenance/t20241202remove_unused_forks_task.rb
Normal file
|
@ -0,0 +1,18 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Maintenance
|
||||
class T20241202removeUnusedForksTask < MaintenanceTasks::Task
|
||||
# Documentation: Cette tâche supprime les forks laissés après le passage en instruction
|
||||
|
||||
include RunnableOnDeployConcern
|
||||
include StatementsHelpersConcern
|
||||
|
||||
def collection
|
||||
Dossier.joins(:editing_fork_origin).where.not(editing_fork_origin: { state: 'en_construction' })
|
||||
end
|
||||
|
||||
def process(dossier)
|
||||
dossier.destroy!
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,23 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require "rails_helper"
|
||||
|
||||
module Maintenance
|
||||
RSpec.describe T20241202removeUnusedForksTask do
|
||||
describe "#process" do
|
||||
subject(:collection) { described_class.collection }
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:dossier1) { create(:dossier, :en_construction, procedure:) }
|
||||
let(:dossier2) { create(:dossier, :en_instruction, procedure:) }
|
||||
let(:dossier3) { create(:dossier, :accepte, procedure:) }
|
||||
|
||||
before do
|
||||
dossier1.owner_editing_fork
|
||||
dossier2.owner_editing_fork
|
||||
dossier3.owner_editing_fork
|
||||
end
|
||||
|
||||
it { is_expected.to match_array([dossier2.owner_editing_fork, dossier3.owner_editing_fork]) }
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue