add case when the old_expert or old_instructeur is nil

This commit is contained in:
simon lehericey 2021-10-12 11:04:06 +02:00
parent ec8ccad465
commit 7c65571fca
4 changed files with 16 additions and 0 deletions

View file

@ -38,6 +38,8 @@ class Expert < ApplicationRecord
end
def merge(old_expert)
return if old_expert.nil?
procedure_with_new, procedure_without_new = old_expert
.procedures
.partition { |p| p.experts.exists?(id) }

View file

@ -252,6 +252,8 @@ class Instructeur < ApplicationRecord
end
def merge(old_instructeur)
return if old_instructeur.nil?
old_instructeur
.assign_to
.where.not(groupe_instructeur_id: assign_to.pluck(:groupe_instructeur_id))

View file

@ -19,6 +19,12 @@ RSpec.describe Expert, type: :model do
subject { new_expert.merge(old_expert) }
context 'when the old expert does not exist' do
let(:old_expert) { nil }
it { expect { subject }.not_to raise_error }
end
context 'when an old expert access a procedure' do
let(:procedure) { create(:procedure) }

View file

@ -743,6 +743,12 @@ describe Instructeur, type: :model do
subject { new_instructeur.merge(old_instructeur) }
context 'when the old instructeur does not exist' do
let(:old_instructeur) { nil }
it { expect { subject }.not_to raise_error }
end
context 'when an procedure is assigned to the old instructeur' do
let(:procedure) { create(:procedure) }