Simplify export unicity check and use create_or_find_by
This commit is contained in:
parent
b0e38f366e
commit
fd48b86b7f
6 changed files with 29 additions and 33 deletions
|
@ -441,7 +441,7 @@ describe Instructeurs::ProceduresController, type: :controller do
|
|||
|
||||
context 'when the export is not ready' do
|
||||
before do
|
||||
Export.create(format: :csv, groupe_instructeurs: [gi_1])
|
||||
create(:export, groupe_instructeurs: [gi_1])
|
||||
end
|
||||
|
||||
it 'displays an notice' do
|
||||
|
@ -451,9 +451,7 @@ describe Instructeurs::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when the export is ready' do
|
||||
let!(:export) do
|
||||
Export.create(format: :csv, groupe_instructeurs: [gi_1])
|
||||
end
|
||||
let!(:export) { create(:export, groupe_instructeurs: [gi_1]) }
|
||||
|
||||
before do
|
||||
export.file.attach(io: StringIO.new('export'), filename: 'file.csv')
|
||||
|
@ -466,9 +464,7 @@ describe Instructeurs::ProceduresController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when another export is ready' do
|
||||
let!(:export) do
|
||||
Export.create(format: :csv, groupe_instructeurs: [gi_0, gi_1])
|
||||
end
|
||||
let!(:export) { create(:export, groupe_instructeurs: [gi_0, gi_1]) }
|
||||
|
||||
before do
|
||||
export.file.attach(io: StringIO.new('export'), filename: 'file.csv')
|
||||
|
|
|
@ -2,5 +2,9 @@ FactoryBot.define do
|
|||
factory :export do
|
||||
format { :csv }
|
||||
groupe_instructeurs { [association(:groupe_instructeur)] }
|
||||
|
||||
after(:build) do |export, _evaluator|
|
||||
export.key = Export.generate_cache_key(export.groupe_instructeurs)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@ RSpec.describe Export, type: :model do
|
|||
let(:groupe_instructeur) { create(:groupe_instructeur) }
|
||||
|
||||
context 'when everything is ok' do
|
||||
let(:export) { build(:export) }
|
||||
let(:export) { build(:export, groupe_instructeurs: [groupe_instructeur]) }
|
||||
|
||||
it { expect(export.save).to be true }
|
||||
end
|
||||
|
@ -15,7 +15,7 @@ RSpec.describe Export, type: :model do
|
|||
end
|
||||
|
||||
context 'when format is missing' do
|
||||
let(:export) { build(:export, format: nil) }
|
||||
let(:export) { build(:export, format: nil, groupe_instructeurs: [groupe_instructeur]) }
|
||||
|
||||
it { expect(export.save).to be false }
|
||||
end
|
||||
|
@ -46,7 +46,7 @@ RSpec.describe Export, type: :model do
|
|||
let!(:gi_3) { create(:groupe_instructeur, procedure: procedure) }
|
||||
|
||||
context 'when an export is made for one groupe instructeur' do
|
||||
let!(:export) { Export.create(format: :csv, groupe_instructeurs: [gi_1, gi_2]) }
|
||||
let!(:export) { create(:export, groupe_instructeurs: [gi_1, gi_2]) }
|
||||
|
||||
it { expect(Export.find_for_format_and_groupe_instructeurs(:csv, [gi_1])).to eq(nil) }
|
||||
it { expect(Export.find_for_format_and_groupe_instructeurs(:csv, [gi_2, gi_1])).to eq(export) }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue