attestation: fix preview of logos

Turns out that assigning the params to the procedure calls `read` on the
images files. Calling `read` moves the seek offset to the end of the
file; which means that subsequent calls to `read` return an empty
string.

Fix the issue by calling `rewind` before attempting to `read` the file,
to ensure the seek offset is at the beginning of the file.

Fix #4958
This commit is contained in:
Pierre de La Morinerie 2020-03-30 14:48:25 +02:00
parent b8c3d7c6bd
commit ed5f2fa35f
2 changed files with 14 additions and 6 deletions

View file

@ -46,6 +46,14 @@ describe Admin::AttestationTemplatesController, type: :controller do
context 'if an attestation template does not exist on the procedure' do
let(:attestation_template) { nil }
context 'with images' do
let(:upload_params) { { title: 't', body: 'b', footer: 'f', logo: interlaced_logo } }
it { expect(assigns(:attestation)).to include({ title: 't', body: 'b', footer: 'f' }) }
it { expect(assigns(:attestation)[:logo]).to be_present }
it_behaves_like 'rendering a PDF successfully'
end
context 'without images' do
let(:upload_params) { { title: 't', body: 'b', footer: 'f' } }