|
|
|
|
@@ -12,7 +12,7 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
expect(country_field_value).to eq "US"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release", js: true do
|
|
|
|
|
scenario "creating a release for an adult", js: true do
|
|
|
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
|
|
|
|
|
|
visit new_account_project_contract_template_acquired_media_release_path(project.account, project, contract_template)
|
|
|
|
|
@@ -35,11 +35,121 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
draw_signature file_fixture("signature.png"), "acquired_media_release_signature_base64"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
click_button "I have read and agree to the above"
|
|
|
|
|
click_button submit_release_button
|
|
|
|
|
|
|
|
|
|
expect(AcquiredMediaRelease.last.categories).to include("Video Footage")
|
|
|
|
|
expect(AcquiredMediaRelease.last.categories).to include("Still Photograph")
|
|
|
|
|
expect(page).to have_content("Your release was successfully submitted. Thank you.")
|
|
|
|
|
expect(page).to have_content successful_submission_message
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
|
|
|
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
|
|
|
|
|
|
visit new_account_project_contract_template_acquired_media_release_path(project.account, project, contract_template)
|
|
|
|
|
|
|
|
|
|
all('input[data-required-tag="guardian"]').each do |field|
|
|
|
|
|
expect(field['required']).to eq 'false'
|
|
|
|
|
expect(field).not_to be_visible
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
page.check person_is_minor_checkbox
|
|
|
|
|
|
|
|
|
|
all('input[data-required-tag="guardian"]').each do |field|
|
|
|
|
|
expect(field['required']).to eq 'true'
|
|
|
|
|
expect(field).to be_visible
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario 'creating a release for a minor', js: true do
|
|
|
|
|
project = create(:project, members: current_user, account: current_user.primary_account)
|
|
|
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
|
|
|
|
|
|
visit new_account_project_contract_template_acquired_media_release_path(project.account, project, contract_template)
|
|
|
|
|
|
|
|
|
|
expect(page).not_to have_content guardian_information_heading.upcase
|
|
|
|
|
expect(page).not_to have_content guardian_photo_heading.upcase
|
|
|
|
|
|
|
|
|
|
page.check person_is_minor_checkbox
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content guardian_information_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_photo_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_email_field.titleize
|
|
|
|
|
|
|
|
|
|
fill_in acquired_media_name_field, with: "Jane Doe"
|
|
|
|
|
acquired_media_category_fields
|
|
|
|
|
fill_in acquried_media_description_field, with: "Description"
|
|
|
|
|
fill_in acquried_media_owner_first_name, with: "Jane"
|
|
|
|
|
fill_in acquried_media_owner_last_name, with: "Doe"
|
|
|
|
|
fill_in acquired_media_person_title, with: "Ms."
|
|
|
|
|
fill_in acquired_media_person_phone, with: "555-5555-5555"
|
|
|
|
|
fill_in acquired_media_person_email, with: "person@example.com"
|
|
|
|
|
fill_in acquired_media_person_fax, with: "FAX"
|
|
|
|
|
fill_in acquired_media_person_address_street_1, with: "Street 1"
|
|
|
|
|
fill_in acquired_media_person_address_city, with: "City"
|
|
|
|
|
fill_in acquired_media_person_address_state, with: "State"
|
|
|
|
|
fill_in acquired_media_release_person_address_zip, with: "ZIP"
|
|
|
|
|
|
|
|
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
|
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
|
|
|
fill_in guardian_phone_field, with: '001101'
|
|
|
|
|
fill_in guardian_email_field, with: 'valid@email.com'
|
|
|
|
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
|
|
|
|
fill_in_guardian_address_fields
|
|
|
|
|
draw_signature file_fixture("signature.png"), "acquired_media_release_signature_base64"
|
|
|
|
|
|
|
|
|
|
click_button submit_release_button
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content(successful_submission_message)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario 'creating a release for a minor with two guardians', js: true do
|
|
|
|
|
project = create(:project, members: current_user, account: current_user.primary_account)
|
|
|
|
|
contract_template = create(:contract_template, project: project)
|
|
|
|
|
|
|
|
|
|
visit new_account_project_contract_template_acquired_media_release_path(project.account, project, contract_template)
|
|
|
|
|
|
|
|
|
|
expect(page).not_to have_content guardian_2_information_heading.upcase
|
|
|
|
|
expect(page).not_to have_content guardian_2_photo_heading.upcase
|
|
|
|
|
|
|
|
|
|
page.check person_is_minor_checkbox
|
|
|
|
|
expect(page).to have_content guardian_information_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_photo_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_email_field.titleize
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content guardian_2_information_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_2_photo_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_2_phone_field.titleize
|
|
|
|
|
|
|
|
|
|
fill_in acquired_media_name_field, with: "Jane Doe"
|
|
|
|
|
acquired_media_category_fields
|
|
|
|
|
fill_in acquried_media_description_field, with: "Description"
|
|
|
|
|
fill_in acquried_media_owner_first_name, with: "Jane"
|
|
|
|
|
fill_in acquried_media_owner_last_name, with: "Doe"
|
|
|
|
|
fill_in acquired_media_person_title, with: "Ms."
|
|
|
|
|
fill_in acquired_media_person_phone, with: "555-5555-5555"
|
|
|
|
|
fill_in acquired_media_person_email, with: "person@example.com"
|
|
|
|
|
fill_in acquired_media_person_fax, with: "FAX"
|
|
|
|
|
fill_in acquired_media_person_address_street_1, with: "Street 1"
|
|
|
|
|
fill_in acquired_media_person_address_city, with: "City"
|
|
|
|
|
fill_in acquired_media_person_address_state, with: "State"
|
|
|
|
|
fill_in acquired_media_release_person_address_zip, with: "ZIP"
|
|
|
|
|
|
|
|
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
|
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
|
|
|
fill_in guardian_phone_field, with: '001101'
|
|
|
|
|
fill_in guardian_email_field, with: 'valid@email.com'
|
|
|
|
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
|
|
|
|
fill_in_guardian_address_fields
|
|
|
|
|
draw_signature file_fixture("signature.png"), "acquired_media_release_signature_base64"
|
|
|
|
|
|
|
|
|
|
fill_in guardian_2_first_name_field, with: 'Second'
|
|
|
|
|
fill_in guardian_2_last_name_field, with: 'Guardian'
|
|
|
|
|
fill_in guardian_2_phone_field, with: '999'
|
|
|
|
|
|
|
|
|
|
click_button submit_release_button
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content(successful_submission_message)
|
|
|
|
|
expect(AcquiredMediaRelease.last.guardian_2_first_name).to eq 'Second'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release, if contract template contains signature legal language, it is shown" do
|
|
|
|
|
@@ -51,6 +161,106 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
context "when signed in" do
|
|
|
|
|
before do
|
|
|
|
|
sign_in current_user
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release for an adult", js: true do
|
|
|
|
|
visit new_project_acquired_media_release_path(project)
|
|
|
|
|
|
|
|
|
|
fill_in acquired_media_name_field, with: "Jane Doe"
|
|
|
|
|
acquired_media_category_fields
|
|
|
|
|
|
|
|
|
|
attach_file contract_field, Rails.root.join(file_fixture("contract.pdf")), visible: false
|
|
|
|
|
|
|
|
|
|
click_button import_release_button
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content successful_import_message
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release for a minor - guardian fields are required when minor checkbox is checked", js: true do
|
|
|
|
|
visit new_project_acquired_media_release_path(project)
|
|
|
|
|
|
|
|
|
|
all('input[data-required-tag="guardian"]').each do |field|
|
|
|
|
|
expect(field['required']).to eq 'false'
|
|
|
|
|
expect(field).not_to be_visible
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
page.check person_is_minor_checkbox
|
|
|
|
|
|
|
|
|
|
all('input[data-required-tag="guardian"]').each do |field|
|
|
|
|
|
expect(field['required']).to eq 'true'
|
|
|
|
|
expect(field).to be_visible
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release for a minor", js: true do
|
|
|
|
|
visit new_project_acquired_media_release_path(project)
|
|
|
|
|
|
|
|
|
|
expect(page).not_to have_content guardian_information_heading.upcase
|
|
|
|
|
expect(page).not_to have_content guardian_photo_heading
|
|
|
|
|
|
|
|
|
|
page.check person_is_minor_checkbox
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content guardian_information_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_photo_heading
|
|
|
|
|
expect(page).to have_content guardian_email_field.titleize
|
|
|
|
|
|
|
|
|
|
fill_in acquired_media_name_field, with: "Jane Doe"
|
|
|
|
|
acquired_media_category_fields
|
|
|
|
|
attach_file contract_field, Rails.root.join(file_fixture("contract.pdf")), visible: false
|
|
|
|
|
|
|
|
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
|
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
|
|
|
fill_in guardian_phone_field, with: '001101'
|
|
|
|
|
fill_in guardian_email_field, with: 'valid@email.com'
|
|
|
|
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
|
|
|
|
fill_in_guardian_address_fields
|
|
|
|
|
|
|
|
|
|
click_button import_release_button
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content successful_import_message
|
|
|
|
|
expect(AcquiredMediaRelease.last.guardian_first_name).to eq 'Guardian'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating a release for a minor with two guardians", js: true do
|
|
|
|
|
visit new_project_acquired_media_release_path(project)
|
|
|
|
|
|
|
|
|
|
expect(page).not_to have_content guardian_2_information_heading.upcase
|
|
|
|
|
expect(page).not_to have_content guardian_2_photo_heading
|
|
|
|
|
|
|
|
|
|
page.check person_is_minor_checkbox
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content guardian_information_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_photo_heading
|
|
|
|
|
expect(page).to have_content guardian_email_field.titleize
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content guardian_2_information_heading.upcase
|
|
|
|
|
expect(page).to have_content guardian_2_photo_heading
|
|
|
|
|
expect(page).to have_content guardian_2_phone_field.titleize
|
|
|
|
|
|
|
|
|
|
fill_in acquired_media_name_field, with: "Jane Doe"
|
|
|
|
|
acquired_media_category_fields
|
|
|
|
|
attach_file contract_field, Rails.root.join(file_fixture("contract.pdf")), visible: false
|
|
|
|
|
|
|
|
|
|
fill_in guardian_first_name_field, with: 'Guardian'
|
|
|
|
|
fill_in guardian_last_name_field, with: 'Name'
|
|
|
|
|
fill_in guardian_phone_field, with: '001101'
|
|
|
|
|
fill_in guardian_email_field, with: 'valid@email.com'
|
|
|
|
|
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
|
|
|
|
|
fill_in_guardian_address_fields
|
|
|
|
|
|
|
|
|
|
fill_in guardian_2_first_name_field, with: 'Second'
|
|
|
|
|
fill_in guardian_2_last_name_field, with: 'Guardian'
|
|
|
|
|
fill_in guardian_2_phone_field, with: '999'
|
|
|
|
|
|
|
|
|
|
click_button import_release_button
|
|
|
|
|
|
|
|
|
|
expect(page).to have_content successful_import_message
|
|
|
|
|
expect(AcquiredMediaRelease.last.guardian_first_name).to eq 'Guardian'
|
|
|
|
|
expect(AcquiredMediaRelease.last.guardian_2_first_name).to eq 'Second'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "creating, updating, destroying a release", js: true do
|
|
|
|
|
release_data = {
|
|
|
|
|
name: "Test Acquired Media Release",
|
|
|
|
|
@@ -65,7 +275,7 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
visit new_project_acquired_media_release_path(project)
|
|
|
|
|
|
|
|
|
|
by "attaching only a contract" do
|
|
|
|
|
attach_file "acquired_media_release[contract]", Rails.root.join(file_fixture("contract.pdf")), visible: false
|
|
|
|
|
attach_file contract_field, Rails.root.join(file_fixture("contract.pdf")), visible: false
|
|
|
|
|
click_button create_release_button
|
|
|
|
|
|
|
|
|
|
expect(page).to have_invalid_field(acquired_media_name_field)
|
|
|
|
|
@@ -117,7 +327,7 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "viewing the contract PDF" do
|
|
|
|
|
scenario "viewing the contract PDF for an adult" do
|
|
|
|
|
acquired_media_release = create(:acquired_media_release_with_contract_template,
|
|
|
|
|
:native,
|
|
|
|
|
project: project,
|
|
|
|
|
@@ -176,6 +386,25 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
expect(pdf_body).to have_content("Other files")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "viewing the contract PDF for a minor" do
|
|
|
|
|
acquired_media_release = create(:acquired_media_release_with_contract_template,
|
|
|
|
|
:native,
|
|
|
|
|
:minor,
|
|
|
|
|
project: project,
|
|
|
|
|
person_name: "Jane Doe")
|
|
|
|
|
|
|
|
|
|
visit project_acquired_media_releases_path(project)
|
|
|
|
|
click_link *view_release_pdf_link_for(acquired_media_release)
|
|
|
|
|
|
|
|
|
|
expect(content_type).to eq("application/pdf")
|
|
|
|
|
expect(pdf_body).to have_content acquired_media_release.guardian_first_name
|
|
|
|
|
expect(pdf_body).to have_content acquired_media_release.guardian_last_name
|
|
|
|
|
expect(pdf_body).to have_content acquired_media_release.guardian_2_first_name
|
|
|
|
|
expect(pdf_body).to have_content acquired_media_release.guardian_2_last_name
|
|
|
|
|
expect(pdf_body).to have_content acquired_media_release.guardian_phone
|
|
|
|
|
expect(pdf_body).to have_content acquired_media_release.guardian_2_phone
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
scenario "searching for a release", js: true do
|
|
|
|
|
collection1 = create(:acquired_media_release, name: "EDM Music", project: project)
|
|
|
|
|
collection2 = create(:acquired_media_release, name: "Classical Music", project: project)
|
|
|
|
|
@@ -508,4 +737,103 @@ feature "User managing acquired_media releases" do
|
|
|
|
|
def date_issued
|
|
|
|
|
t 'contracts.for_office_use_only.description_labels.date_issued'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def person_is_minor_checkbox
|
|
|
|
|
'acquired_media_release_minor'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_2_first_name_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_2_first_name'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_2_last_name_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_2_last_name'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_2_phone_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_2_phone'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_first_name_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_first_name'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_last_name_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_last_name'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_phone_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_phone'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_email_field
|
|
|
|
|
t 'helpers.label.acquired_media_release.guardian_email'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_address_street1_field
|
|
|
|
|
t('helpers.label.acquired_media_release.guardian_address_street1')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_address_city_field
|
|
|
|
|
t('helpers.label.acquired_media_release.guardian_address_city')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_address_state_field
|
|
|
|
|
t('helpers.label.acquired_media_release.guardian_address_state')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_address_zip_field
|
|
|
|
|
t('helpers.label.acquired_media_release.guardian_address_zip')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_photo_field
|
|
|
|
|
'acquired_media_release[guardian_photo]'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_2_photo_field
|
|
|
|
|
'acquired_media_release[guardian_2_photo]'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def fill_in_guardian_address_fields
|
|
|
|
|
fill_in guardian_address_street1_field, with: "124 Test Lane"
|
|
|
|
|
fill_in guardian_address_city_field, with: "New York"
|
|
|
|
|
fill_in guardian_address_state_field, with: "NY"
|
|
|
|
|
fill_in guardian_address_zip_field, with: '1000'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def submit_release_button
|
|
|
|
|
'I have read and agree to the above'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def successful_submission_message
|
|
|
|
|
'Your release was successfully submitted. Thank you.'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_information_heading
|
|
|
|
|
t 'public.acquired_media_releases.new.guardian_info.heading'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_photo_heading
|
|
|
|
|
t 'public.acquired_media_releases.new.guardian_photo.heading'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_2_information_heading
|
|
|
|
|
t 'public.acquired_media_releases.new.guardian_2_info.heading'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def guardian_2_photo_heading
|
|
|
|
|
t 'public.acquired_media_releases.new.guardian_2_photo.heading'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def contract_field
|
|
|
|
|
'acquired_media_release[contract]'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def import_release_button
|
|
|
|
|
t 'helpers.submit.acquired_media_releases.create'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def successful_import_message
|
|
|
|
|
t 'acquired_media_releases.create.notice'
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|