Reduce `RSpec/MultipleExpectations` in media_attachment spec (#29228)

shrike
Matt Jankowski 2024-02-16 08:00:09 -05:00 committed by GitHub
parent e140d05a6a
commit bba488c189
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 25 additions and 24 deletions

View File

@ -91,20 +91,15 @@ RSpec.describe MediaAttachment, :paperclip_processing do
end
it 'saves media attachment with correct file metadata' do
expect(media.persisted?).to be true
expect(media.file).to_not be_nil
# completes processing
expect(media.processing_complete?).to be true
# sets type
expect(media.type).to eq 'image'
# sets content type
expect(media.file_content_type).to eq content_type
# sets file extension
expect(media.file_file_name).to end_with extension
expect(media)
.to be_persisted
.and be_processing_complete
.and have_attributes(
file: be_present,
type: eq('image'),
file_content_type: eq(content_type),
file_file_name: end_with(extension)
)
# Rack::Mime (used by PublicFileServerMiddleware) recognizes file extension
expect(Rack::Mime.mime_type(extension, nil)).to eq content_type
@ -112,17 +107,23 @@ RSpec.describe MediaAttachment, :paperclip_processing do
it 'saves media attachment with correct size metadata' do
# strips original file name
expect(media.file_file_name).to_not start_with '600x400'
expect(media.file_file_name)
.to_not start_with '600x400'
# sets meta for original
expect(media.file.meta['original']['width']).to eq 600
expect(media.file.meta['original']['height']).to eq 400
expect(media.file.meta['original']['aspect']).to eq 1.5
# sets meta for thumbnail
expect(media.file.meta['small']['width']).to eq 588
expect(media.file.meta['small']['height']).to eq 392
expect(media.file.meta['small']['aspect']).to eq 1.5
# sets meta for original and thumbnail
expect(media.file.meta.deep_symbolize_keys)
.to include(
original: include(
width: eq(600),
height: eq(400),
aspect: eq(1.5)
),
small: include(
width: eq(588),
height: eq(392),
aspect: eq(1.5)
)
)
end
end