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