Merge branch 'develop' into staging

This commit is contained in:
Xavier J 2016-06-14 12:01:58 +02:00
commit 62332ac435
3 changed files with 37 additions and 1 deletions

View file

@ -5,7 +5,7 @@ class Admin::PrevisualisationsController < AdminController
@procedure @procedure
@dossier = Dossier.new(id: 0, procedure: @procedure) @dossier = Dossier.new(id: 0, procedure: @procedure)
Champ.where(dossier_id: @dossier.id).destroy_all PrevisualisationService.destroy_all_champs @dossier
@dossier.build_default_champs @dossier.build_default_champs
@champs = @dossier.ordered_champs @champs = @dossier.ordered_champs

View file

@ -0,0 +1,5 @@
class PrevisualisationService
def self.destroy_all_champs dossier
Champ.where(dossier_id: dossier.id, type_de_champ_id: dossier.procedure.types_de_champ.ids).destroy_all
end
end

View file

@ -0,0 +1,31 @@
require 'spec_helper'
describe PrevisualisationService do
describe '.destroy_all_champs' do
subject { described_class.destroy_all_champs dossier }
let(:procedure_1) { create :procedure, :with_type_de_champ }
let(:procedure_2) { create :procedure, :with_type_de_champ }
let!(:dossier_1) { create :dossier, procedure: procedure_1 }
let!(:dossier_2) { create :dossier, procedure: procedure_2 }
it { expect(Dossier.all.size).to eq 2 }
it { expect(TypeDeChamp.all.size).to eq 2 }
it { expect(Champ.all.size).to eq 2 }
context 'when function destroy_all_champs is call' do
let(:dossier) { dossier_1 }
before do
subject
end
it { expect(Dossier.all.size).to eq 2 }
it { expect(TypeDeChamp.all.size).to eq 2 }
it { expect(Champ.all.size).to eq 1 }
it { expect(Champ.first.type_de_champ).to eq procedure_2.types_de_champ.first }
end
end
end