Upstream sync

This commit is contained in:
Senad Uka
2020-09-01 17:15:16 +02:00
parent 95a14ab2f6
commit f611382e9e
21 changed files with 107 additions and 53 deletions

View File

@@ -68,13 +68,7 @@ RSpec.describe PhotosController, type: :controller do
it_behaves_like "a photoable releases controller"
end
context "for material releases" do
subject { create(:material_release, project: project) }
it_behaves_like "a photoable releases controller"
end
private
def release_params

View File

@@ -10,10 +10,10 @@ describe Public::MaterialReleasesController do
it "allows photos param" do
contract_template = create(:contract_template, project: project)
post :create, params: { account_id: user.primary_account.to_param, project_id: project, contract_template_id: contract_template, material_release: material_release_params_with_photos }
post :create, params: { account_id: user.primary_account.to_param, project_id: project, contract_template_id: contract_template, material_release: material_release_params_with_files }
expect(response).to be_successful
expect(MaterialRelease.last.photos.attached?).to eq true
expect(MaterialRelease.last.files.attached?).to eq true
end
it "displays validation errors" do
@@ -63,8 +63,8 @@ describe Public::MaterialReleasesController do
attributes_for(:material_release, :native).except(:signature).merge(signature_param)
end
def material_release_params_with_photos
attributes_for(:material_release, :native, :with_photo).except(:signature).merge(signature_param)
def material_release_params_with_files
attributes_for(:material_release, :native, :with_file).except(:signature).merge(signature_param)
end

View File

@@ -42,6 +42,12 @@ FactoryBot.define do
end
end
trait :with_file do
files do
path = Rails.root.join("spec", "fixtures", "files", "material_photo.png")
[Rack::Test::UploadedFile.new(path, "image/png")]
end
end
trait :non_native do
contract do

View File

@@ -65,6 +65,25 @@ feature 'User managing broadcasts' do
expect(page).to have_content(recording.name)
end
context 'visit show page of active broadcast' do
scenario 'loads full live stream playback url if available' do
broadcast = create(:broadcast, :with_stream, :with_files, project: project, streamer_status: :recording, status: :active)
visit project_broadcast_path(project, broadcast)
expect(page.body).not_to match broadcast.stream_playback_url
expect(page.body).to match broadcast.full_live_stream_playback_url
end
scenario 'loads full broadcast asset url if available' do
broadcast = create(:broadcast, :with_stream, :with_files, project: project, streamer_status: :recording, status: :active, full_live_stream_playback_uid: '')
visit project_broadcast_path(project, broadcast)
expect(page.body).to match broadcast.stream_playback_url
end
end
scenario 'Clicking Reset URL regenerates broadcast token' do
broadcast = create(:broadcast, :with_stream, :with_files, project: project)
old_token = broadcast.token

View File

@@ -37,7 +37,7 @@ feature "User managing material releases" do
click_button submit_release_button
expect(page).to have_content success_submit_message
expect(MaterialRelease.last.photos.attached?).to eq true
expect(MaterialRelease.last.files.attached?).to eq true
end
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
@@ -225,7 +225,7 @@ feature "User managing material releases" do
click_button create_release_button
expect(page).to have_content(create_release_notice)
expect(page).to have_photo("material_photo.png", visible: :all)
expect(page).to have_content("1")
click_on "Manage"
expect(page).to have_link("Download")
@@ -364,19 +364,19 @@ feature "User managing material releases" do
visit project_material_releases_path(project)
expect(page).to have_content("Needs Photo")
expect(page).to have_content("No Media")
click_on "Manage"
click_on "Photos"
click_on "Add Media"
expect(page).to have_content("Add Photos")
expect(page).to have_content("Add Files")
expect(page).to have_content("Apple MacBook Air")
drop_file Rails.root.join(file_fixture("material_photo.png")), type: :dropzone
click_on "Save Changes"
expect(page).to have_content("The release has been updated")
expect(page).to have_photo("material_photo.png", visible: :all)
expect(page).to have_content("Files added successfully to the release")
expect(page).to have_content("1")
end
scenario "viewing the contract PDF" do

View File

@@ -24,7 +24,11 @@ describe MaterialReleasePolicy do
end
end
permissions :edit_photos? do
permissions :edit_files? do
it { is_expected.to permit(:edit_photos) }
end
permissions :update_files? do
it { is_expected.to permit(:edit_photos) }
end