Upstream sync
This commit is contained in:
@@ -37,23 +37,26 @@ RSpec.describe Api::AppearanceReleasesController, type: :controller do
|
||||
|
||||
it 'includes photos' do
|
||||
project = create(:project, account_id: current_user.primary_account.id)
|
||||
appearance_release = create(:appearance_release, person_first_name: 'Release', person_last_name: 'Name', project: project)
|
||||
appearance_release = create(:appearance_release,
|
||||
:with_person_photo, :with_guardian_photo, :with_guardian_2_photo,
|
||||
project: project)
|
||||
|
||||
sign_in_to_api(current_user)
|
||||
get :show, params: { id: appearance_release.id }
|
||||
|
||||
photo = appearance_release.person_photo
|
||||
data = {
|
||||
'id' => photo.id.to_s,
|
||||
'type' => 'active_storage_attachment',
|
||||
'attributes' => {
|
||||
'content_type' => photo.content_type,
|
||||
'filename' => photo.filename.to_s,
|
||||
'url' => photo_path_for(photo),
|
||||
'thumbnail_url' => photo_variant_path_for(photo, '150x150')
|
||||
[appearance_release.person_photo, appearance_release.guardian_photo, appearance_release.guardian_2_photo].each do |photo|
|
||||
data = {
|
||||
'id' => photo.id.to_s,
|
||||
'type' => 'active_storage_attachment',
|
||||
'attributes' => {
|
||||
'content_type' => photo.content_type,
|
||||
'filename' => photo.filename.to_s,
|
||||
'url' => photo_path_for(photo),
|
||||
'thumbnail_url' => photo_variant_path_for(photo, '150x150')
|
||||
}
|
||||
}
|
||||
}
|
||||
expect(response_body_included_attributes).to include(data)
|
||||
expect(response_body_included_attributes).to include(data)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -184,7 +187,46 @@ RSpec.describe Api::AppearanceReleasesController, type: :controller do
|
||||
expect(appearance_release.guardian_photo).to be_attached
|
||||
end
|
||||
|
||||
it 'returns 201 for minor without second guardian photo' do
|
||||
post :create, params: @parameters.deep_merge(appearance_release: {
|
||||
minor: true,
|
||||
guardian_2_name: 'Guardian 2 Name',
|
||||
guardian_2_phone: '101010',
|
||||
})
|
||||
|
||||
expect(response.status).to eq 201
|
||||
expect(AppearanceRelease.last.signature).to be_attached
|
||||
expect(AppearanceRelease.last.guardian_2_photo).not_to be_attached
|
||||
end
|
||||
|
||||
it 'returns 201 for minor with second guardian photo' do
|
||||
post :create, params: @parameters.deep_merge(appearance_release: {
|
||||
minor: true,
|
||||
guardian_2_name: 'Guardian 2 Name',
|
||||
guardian_2_phone: '101010',
|
||||
guardian_2_photo: {
|
||||
io: guardian_photo_base64,
|
||||
filename: 'guardian_2_photo.jpeg'
|
||||
}
|
||||
})
|
||||
expect(response.status).to eq 201
|
||||
|
||||
appearance_release = AppearanceRelease.last
|
||||
photo = appearance_release.guardian_2_photo
|
||||
data = {
|
||||
'id' => photo.id.to_s,
|
||||
'type' => 'active_storage_attachment',
|
||||
'attributes' => {
|
||||
'content_type' => photo.content_type,
|
||||
'filename' => photo.filename.to_s,
|
||||
'url' => photo_path_for(photo),
|
||||
'thumbnail_url' => photo_variant_path_for(photo, '150x150')
|
||||
}
|
||||
}
|
||||
expect(response_body_included_attributes).to include(data)
|
||||
expect(appearance_release.signature).to be_attached
|
||||
expect(appearance_release.guardian_2_photo).to be_attached
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@@ -32,26 +32,28 @@ RSpec.describe Api::TalentReleasesController, type: :controller do
|
||||
end
|
||||
|
||||
it 'includes photos' do
|
||||
tested_release = create("talent_release_with_photo", person_name: 'Release 1', project: project)
|
||||
project = create(:project, account_id: current_user.primary_account.id)
|
||||
talent_release = create(:talent_release,
|
||||
:with_guardian_photo, :with_guardian_2_photo,
|
||||
project: project)
|
||||
|
||||
sign_in_to_api(current_user)
|
||||
get :show, params: { id: tested_release.id }
|
||||
sign_in_to_api(current_user)
|
||||
get :show, params: { id: talent_release.id }
|
||||
|
||||
tested_release.photos.each do |photo|
|
||||
data = {
|
||||
'id' => photo.id.to_s,
|
||||
'type' => 'active_storage_attachment',
|
||||
'attributes' => {
|
||||
'content_type' => photo.content_type,
|
||||
'filename' => photo.filename.to_s,
|
||||
'url' => photo_path_for(photo),
|
||||
'thumbnail_url' => photo_variant_path_for(photo, '150x150')
|
||||
}
|
||||
}
|
||||
|
||||
expect(response_body_included_attributes).to include(data)
|
||||
end
|
||||
end
|
||||
[talent_release.photos, talent_release.guardian_photo, talent_release.guardian_2_photo].flatten.each do |photo|
|
||||
data = {
|
||||
'id' => photo.id.to_s,
|
||||
'type' => 'active_storage_attachment',
|
||||
'attributes' => {
|
||||
'content_type' => photo.content_type,
|
||||
'filename' => photo.filename.to_s,
|
||||
'url' => photo_path_for(photo),
|
||||
'thumbnail_url' => photo_variant_path_for(photo, '150x150')
|
||||
}
|
||||
}
|
||||
expect(response_body_included_attributes).to include(data)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#create' do
|
||||
@@ -180,6 +182,47 @@ RSpec.describe Api::TalentReleasesController, type: :controller do
|
||||
expect(talent_release.signature).to be_attached
|
||||
expect(talent_release.guardian_photo).to be_attached
|
||||
end
|
||||
|
||||
it 'returns 201 for minor without second guardian photo' do
|
||||
post :create, params: @parameters.deep_merge(talent_release: {
|
||||
minor: true,
|
||||
guardian_2_name: 'Guardian 2 Name',
|
||||
guardian_2_phone: '101010',
|
||||
})
|
||||
|
||||
expect(response.status).to eq 201
|
||||
expect(TalentRelease.last.signature).to be_attached
|
||||
expect(TalentRelease.last.guardian_2_photo).not_to be_attached
|
||||
end
|
||||
|
||||
it 'returns 201 for minor with second guardian photo' do
|
||||
post :create, params: @parameters.deep_merge(talent_release: {
|
||||
minor: true,
|
||||
guardian_2_name: 'Guardian 2 Name',
|
||||
guardian_2_phone: '101010',
|
||||
guardian_2_photo: {
|
||||
io: guardian_photo_base64,
|
||||
filename: 'guardian_2_photo.jpeg'
|
||||
}
|
||||
})
|
||||
expect(response.status).to eq 201
|
||||
|
||||
talent_release = TalentRelease.last
|
||||
photo = talent_release.guardian_2_photo
|
||||
data = {
|
||||
'id' => photo.id.to_s,
|
||||
'type' => 'active_storage_attachment',
|
||||
'attributes' => {
|
||||
'content_type' => photo.content_type,
|
||||
'filename' => photo.filename.to_s,
|
||||
'url' => photo_path_for(photo),
|
||||
'thumbnail_url' => photo_variant_path_for(photo, '150x150')
|
||||
}
|
||||
}
|
||||
expect(response_body_included_attributes).to include(data)
|
||||
expect(talent_release.signature).to be_attached
|
||||
expect(talent_release.guardian_2_photo).to be_attached
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
Reference in New Issue
Block a user