Compare commits

..

1 Commits

Author SHA1 Message Date
Bilal
013ad843ed show questionnaire and exhibits only when they are present 2020-09-08 06:11:19 +03:00
20 changed files with 242 additions and 120 deletions

View File

@@ -1,19 +1,16 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @acquired_media_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if policy(AcquiredMediaRelease).new? %>
<div class="mr-auto">
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :acquired_media_release], class: "btn btn-primary mr-2 mb-2" %>
</div>
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :acquired_media_release], class: "btn btn-primary mr-2 mb-2" %>
<% end %>
<% if @acquired_media_releases.any? && policy(AcquiredMediaRelease).tag_multiple? %>
<%= button_to_bulk_tagging(@project) %>
<% end %>
<% if @acquired_media_releases.any? && policy(AcquiredMediaRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @acquired_media_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2", data: {
<%= link_to "Download All", [@project, :contract_downloads, release_type: @acquired_media_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>

View File

@@ -1,5 +1,3 @@
$("#acquired_media_releases").html("<%= j render(@acquired_media_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#acquired_media_releases_pagination").html("<%= j will_paginate(@acquired_media_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @acquired_media_releases.total_entries %>);

View File

@@ -16,7 +16,7 @@
<%= contract_template.guardian_clause %>
<% end %>
<% if releasable.respond_to?(:question_1_answer) %>
<% if contract_template.present? && contract_template.has_questionnaire? %>
<div class="page">
<%= render "contracts/questionnaire", releasable: releasable, contract_template: contract_template, preview: preview %>
</div>

View File

@@ -1,11 +1,8 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @location_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if policy(LocationRelease).new? %>
<div class="mr-auto">
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :location_release], class: "btn btn-primary mr-2 mb-2" %>
</div>
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :location_release], class: "btn btn-primary mr-2 mb-2" %>
<% end %>
<% if @location_releases.any? && policy(LocationRelease).tag_multiple? %>
@@ -13,7 +10,7 @@
<% end %>
<% if @location_releases.any? && policy(LocationRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @location_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2", data: {
<%= link_to "Download All", [@project, :contract_downloads, release_type: @location_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>

View File

@@ -1,5 +1,3 @@
$("#location_releases").html("<%= j render(@location_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#location_releases_pagination").html("<%= j will_paginate(@location_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @location_releases.total_entries %>);

View File

@@ -1,11 +1,8 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @material_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if policy(MaterialRelease).new? %>
<div class="mr-auto">
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :material_release], class: "btn btn-primary mr-2 mb-2" %>
</div>
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :material_release], class: "btn btn-primary mr-2 mb-2" %>
<% end %>
<% if @material_releases.any? && policy(MaterialRelease).tag_multiple? %>
@@ -13,7 +10,7 @@
<% end %>
<% if @material_releases.any? && policy(MaterialRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @material_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2", data: {
<%= link_to "Download All", [@project, :contract_downloads, release_type: @material_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>

View File

@@ -1,5 +1,3 @@
$("#material_releases").html("<%= j render(@material_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#material_releases_pagination").html("<%= j will_paginate(@material_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @material_releases.total_entries %>);

View File

@@ -1,15 +1,12 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @medical_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if @medical_releases.any? && policy(MedicalRelease).tag_multiple? %>
<div class="ml-auto">
<%= button_to_bulk_tagging(@project) %>
</div>
<%= button_to_bulk_tagging(@project) %>
<% end %>
<% if @medical_releases.any? && policy(MedicalRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @medical_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2", data: {
<%= link_to "Download All", [@project, :contract_downloads, release_type: @medical_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>

View File

@@ -1,5 +1,3 @@
$("#medical_releases").html("<%= j render(@medical_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#medical_releases_pagination").html("<%= j will_paginate(@medical_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @medical_releases.total_entries %>);

View File

@@ -1,15 +1,12 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @misc_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if @misc_releases.any? && policy(MiscRelease).tag_multiple? %>
<div class="ml-auto">
<%= button_to_bulk_tagging(@project) %>
</div>
<%= button_to_bulk_tagging(@project) %>
<% end %>
<% if @misc_releases.any? && policy(MiscRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @misc_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2", data: {
<%= link_to "Download All", [@project, :contract_downloads, release_type: @misc_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>

View File

@@ -1,5 +1,3 @@
$("#misc_releases").html("<%= j render(@misc_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#misc_releases_pagination").html("<%= j will_paginate(@misc_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @misc_releases.total_entries %>);

View File

@@ -1,11 +1,8 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @music_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if policy(MusicRelease).new? %>
<div class="mr-auto">
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :music_release], class: "btn btn-primary mr-2 mb-2" %>
</div>
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :music_release], class: "btn btn-primary mr-2 mb-2" %>
<% end %>
<% if @music_releases.any? && policy(MusicRelease).tag_multiple? %>
@@ -13,7 +10,7 @@
<% end %>
<% if @music_releases.any? && policy(MusicRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @music_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2" %>
<%= link_to "Download All", [@project, :contract_downloads, release_type: @music_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2" %>
<% end %>
<%= bootstrap_form_with url: [@project, :music_releases], method: :get, remote: true, layout: :inline, id: "search" do |form| %>

View File

@@ -1,5 +1,3 @@
$("#music_releases").html("<%= j render(@music_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#music_releases_pagination").html("<%= j will_paginate(@music_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @music_releases.total_entries %>);

View File

@@ -1,11 +1,8 @@
<div class="row">
<div class="col-md-12">
<input id="total_entries" type=hidden value=<%= @talent_releases.total_entries %> />
<div class="d-md-flex d-sm-flex flex-sm-column flex-md-row flex-md-wrap mb-3">
<% if policy(TalentRelease).new? %>
<div class="mr-auto">
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :talent_release], class: "btn btn-primary mr-2 mb-2" %>
</div>
<%= link_to fa_icon("plus", text: t(".actions.new")), [:new, @project, :talent_release], class: "btn btn-primary mr-2 mb-2" %>
<% end %>
<% if @talent_releases.any? && policy(TalentRelease).tag_multiple? %>
@@ -13,7 +10,7 @@
<% end %>
<% if @talent_releases.any? && policy(TalentRelease).download_multiple? %>
<%= button_to "Download", [@project, :contract_downloads, release_type: @talent_releases.name], id: "download_releases", method: :post, remote: true, class: "btn btn-light border mr-2 mb-2", data: {
<%= link_to "Download All", [@project, :contract_downloads, release_type: @talent_releases.name], method: :post, remote: true, class: "btn btn-light border ml-auto mr-2 mb-2", data: {
disable_with: "Please wait..." } %>
<% end %>

View File

@@ -1,5 +1,3 @@
$("#talent_releases").html("<%= j render(@talent_releases) %>");
$("form input[type='search']").val("<%= params[:query] %>");
$("#talent_releases_pagination").html("<%= j will_paginate(@talent_releases) %>");
$("#selected_releases_form").attr('data-releasable-ids', JSON.stringify([]));
$("#total_entries").val(<%= @talent_releases.total_entries %>);

View File

@@ -19,6 +19,22 @@ FactoryBot.define do
amendment_clause "Amendment Legal Language"
end
trait :with_questionnaire_legal_text do
questionnaire_legal_text "Questionnaire Legal Text"
end
trait :with_one_question do
question_1_text "Is this a question?"
end
trait :with_exhibits do
exhibit_a_legal_text "Exhibit A legal text"
exhibit_b_legal_text "Exhibit B legal text"
exhibit_a_question_text "Exhibit A question text"
exhibit_b_question_text "Exhibit B question text"
end
factory :appearance_release_contract_template do
release_type "appearance"
end

View File

@@ -544,7 +544,7 @@ feature 'User managing appearance releases' do
expect(pdf_body).to have_content('Guardian Email')
end
scenario "viewing the contract PDF when exhibit A is signed" do
scenario "viewing the contract PDF when exhibit A is signed and without questionnaire" do
contract_template = create(:appearance_release_contract_template, project: project, exhibit_a_legal_text: "Exhibit A legal text", exhibit_a_question_text: "Exhibit A question text")
appearance_release = create(:appearance_release,
:amendment_signed,
@@ -566,10 +566,113 @@ feature 'User managing appearance releases' do
expect(pdf_body).to have_content("John Doe")
expect(pdf_body).to have_content "Exhibit A"
expect(pdf_body).to have_content exhibit_a_heading
expect(pdf_body).to have_content "Exhibit A legal text"
expect(pdf_body).to have_content "Exhibit A question text"
expect(pdf_body).to have_content "Answer to exhibit A question"
expect(pdf_body).not_to have_content questionnaire_heading
expect(pdf_body).not_to have_content exhibit_b_heading
end
scenario "viewing the contract PDF when exhibit B is signed and without questionnaire" do
contract_template = create(:appearance_release_contract_template, project: project, exhibit_b_legal_text: "Exhibit B legal text", exhibit_b_question_text: "Exhibit B question text")
appearance_release = create(:appearance_release,
:amendment_signed,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
exhibit_b_answer: "Answer to exhibit B question"
)
sign_in(current_user)
visit project_appearance_releases_path(project)
click_link *view_release_pdf_link_for(appearance_release)
expect(content_type).to eq("application/pdf")
expect(content_disposition).to include("inline")
expect(pdf_filename).to include("doe-john")
expect(pdf_body).to have_content("John Doe")
expect(pdf_body).to have_content exhibit_b_heading
expect(pdf_body).to have_content "Exhibit B legal text"
expect(pdf_body).to have_content "Exhibit B question text"
expect(pdf_body).to have_content "Answer to exhibit B question"
expect(pdf_body).not_to have_content questionnaire_heading
expect(pdf_body).not_to have_content exhibit_a_heading
end
scenario "viewing the contract PDF with questionnaire and without exhibits" do
contract_template = create(:appearance_release_contract_template, :with_questionnaire_legal_text, :with_one_question, project: project)
appearance_release = create(:appearance_release,
:amendment_signed,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
question_1_answer: "Yes"
)
sign_in(current_user)
visit project_appearance_releases_path(project)
click_link *view_release_pdf_link_for(appearance_release)
expect(content_type).to eq("application/pdf")
expect(content_disposition).to include("inline")
expect(pdf_filename).to include("doe-john")
expect(pdf_body).to have_content questionnaire_heading
expect(pdf_body).to have_content contract_template.question_1_text
expect(pdf_body).to have_content appearance_release.question_1_answer
expect(pdf_body).not_to have_content exhibit_a_heading
expect(pdf_body).not_to have_content exhibit_b_heading
end
scenario "viewing the contract PDF with questionnaire and with exhibits" do
contract_template = create(:appearance_release_contract_template,
:with_questionnaire_legal_text,
:with_one_question,
:with_exhibits,
project: project)
appearance_release = create(:appearance_release,
:amendment_signed,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
question_1_answer: "Yes",
exhibit_a_answer: "Exhibit A answer",
exhibit_b_answer: "Exhibit B answer"
)
sign_in(current_user)
visit project_appearance_releases_path(project)
click_link *view_release_pdf_link_for(appearance_release)
expect(content_type).to eq("application/pdf")
expect(content_disposition).to include("inline")
expect(pdf_filename).to include("doe-john")
expect(pdf_body).to have_content questionnaire_heading
expect(pdf_body).to have_content contract_template.question_1_text
expect(pdf_body).to have_content appearance_release.question_1_answer
expect(pdf_body).to have_content exhibit_a_heading
expect(pdf_body).to have_content contract_template.exhibit_a_legal_text.to_plain_text
expect(pdf_body).to have_content contract_template.exhibit_a_question_text
expect(pdf_body).to have_content appearance_release.exhibit_a_answer
expect(pdf_body).to have_content exhibit_b_heading
expect(pdf_body).to have_content contract_template.exhibit_b_legal_text.to_plain_text
expect(pdf_body).to have_content contract_template.exhibit_b_question_text
expect(pdf_body).to have_content appearance_release.exhibit_b_answer
end
scenario 'deleting a release', js: true do
@@ -987,4 +1090,16 @@ feature 'User managing appearance releases' do
def amendment_signature_label
t 'contracts.amendment_page.description_labels.amendment_signature'
end
def questionnaire_heading
t 'contracts.questionnaire.heading.appearance_release'
end
def exhibit_a_heading
t 'contracts.exhibit_a_page.heading.appearance_release'
end
def exhibit_b_heading
t 'contracts.exhibit_b_page.heading.appearance_release'
end
end

View File

@@ -197,13 +197,13 @@ feature "User managing medical releases" do
expect(page).to have_css('i.fa.fa-check-circle.fa-2x', count: 1)
end
scenario "Download button is visible" do
scenario "Download All is visible" do
create(:medical_release_with_contract_template, :native, project: project)
create(:medical_release_with_contract_template, :non_native, project: project)
visit project_medical_releases_path(project)
expect(page).to have_content download_button
expect(page).to have_content download_all_button
end
scenario "Download action in Manage menu is visible" do
@@ -244,11 +244,32 @@ feature "User managing medical releases" do
expect(pdf_filename).to include("doe-john")
expect(pdf_body).to have_content("John Doe")
expect(pdf_body).to have_content "MEDICAL QUESTIONNAIRE"
expect(pdf_body).to have_content questionnaire_heading.upcase
expect(pdf_body).to have_content "Question 1 text"
expect(pdf_body).to have_content "Question 1 answer"
expect(pdf_body).to have_content "Questionnaire legal text"
end
scenario 'viewing contract PDF without medical questionnaire' do
contract_template = create(:medical_release_contract_template, project: project)
medical_release = create(:medical_release,
:native,
contract_template: contract_template,
project: project,
person_first_name: "John",
person_last_name: "Doe",
)
sign_in(current_user)
visit project_medical_releases_path(project)
click_link *view_release_pdf_link_for(medical_release)
expect(content_type).to eq("application/pdf")
expect(content_disposition).to include("inline")
expect(pdf_filename).to include("doe-john")
expect(pdf_body).not_to have_content questionnaire_heading.upcase
end
end
context "when the user is manager(project manager)" do
@@ -264,7 +285,7 @@ feature "User managing medical releases" do
visit project_medical_releases_path(project)
expect(page).not_to have_content download_button
expect(page).not_to have_content download_all_button
end
scenario "Download action in Manage menu is not visible" do
@@ -308,7 +329,7 @@ feature "User managing medical releases" do
visit project_medical_releases_path(project)
expect(page).not_to have_content download_button
expect(page).not_to have_content download_all_button
end
scenario "Download action in Manage menu is not visible" do
@@ -341,8 +362,8 @@ feature "User managing medical releases" do
private
def download_button
'Download'
def download_all_button
'Download All'
end
def download_action
@@ -499,4 +520,8 @@ feature "User managing medical releases" do
def dummy_signature_legal_text
'Some signature legal language'
end
def questionnaire_heading
t 'contracts.questionnaire.heading.medical_release'
end
end

View File

@@ -62,12 +62,12 @@ feature "User managing misc releases" do
sign_in current_user
end
scenario "Download is visible" do
scenario "Download All is visible" do
create(:misc_release_with_contract_template, :native, project: project)
visit project_misc_releases_path(project)
expect(page).to have_content download_button
expect(page).to have_content download_all_button
end
scenario "Downloading PDF of native misc release is possible" do
@@ -80,7 +80,7 @@ feature "User managing misc releases" do
end
scenario 'viewing the contract PDF' do
scenario 'viewing the contract PDF with questionnaire' do
misc_release = create(:misc_release,
:native,
contract_template: build(:misc_release_contract_template, question_1_text: 'Q1'),
@@ -121,10 +121,30 @@ feature "User managing misc releases" do
expect(pdf_body).to have_content('Woman')
expect(pdf_body).to have_content('Brunette')
expect(pdf_body).not_to have_content('Guardian Email')
expect(pdf_body).to have_content('QUESTIONNAIRE')
expect(pdf_body).to have_content questionnaire_heading.upcase
expect(pdf_body).to have_content('Q1')
expect(pdf_body).to have_content('A1')
end
scenario 'viewing the contract PDF without questionnaire' do
misc_release = create(:misc_release,
:native,
contract_template: build(:misc_release_contract_template),
project: project,
person_first_name: 'Jane',
person_last_name: 'Doe'
)
sign_in(current_user)
visit project_misc_releases_path(project)
click_link *view_release_pdf_link_for(misc_release)
expect(content_type).to eq('application/pdf')
expect(content_disposition).to include('inline')
expect(pdf_filename).to include('doe-jane')
expect(pdf_body).not_to have_content questionnaire_heading.upcase
end
end
context "when the user is manager(project manager)" do
@@ -145,8 +165,8 @@ feature "User managing misc releases" do
private
def download_button
'Download'
def download_all_button
'Download All'
end
def view_release_pdf_link_for(release)
@@ -215,4 +235,8 @@ feature "User managing misc releases" do
def view_release_pdf_link_for(release)
['Download', href: misc_release_contracts_path(release, format: 'pdf')]
end
def questionnaire_heading
t 'contracts.questionnaire.heading.misc_release'
end
end

View File

@@ -86,36 +86,34 @@ describe GenerateContractsZipJob do
end
it "generates ZIP containing CSV file with all filtered releases data for filtered releases" do
if subject.respond_to?(:complete) && subject.respond_to?(:incomplete)
lowercase_plural = subject.constantize.model_name.plural
GenerateContractsZipJob.perform_now(project, download, subject, [], '', 'complete')
lowercase_plural = subject.constantize.model_name.plural
GenerateContractsZipJob.perform_now(project, download, subject, [], '', 'complete')
complete_releases = project.public_send(lowercase_plural).complete
incomplete_releases = project.public_send(lowercase_plural).incomplete
complete_releases = project.public_send(lowercase_plural).complete
incomplete_releases = project.public_send(lowercase_plural).incomplete
generated_zip = download.file.blob.download
csv_file_name = "#{project.name.parameterize}_#{lowercase_plural.gsub('_', '-')}.csv"
Zip::InputStream.open(StringIO.new(generated_zip)) do |io|
while entry = io.get_next_entry
next unless entry.name == csv_file_name
generated_zip = download.file.blob.download
csv_file_name = "#{project.name.parameterize}_#{lowercase_plural.gsub('_', '-')}.csv"
Zip::InputStream.open(StringIO.new(generated_zip)) do |io|
while entry = io.get_next_entry
next unless entry.name == csv_file_name
csv_file = entry.get_input_stream.read
csv_file = entry.get_input_stream.read
release_class = Object.const_get subject
release_headers = release_class.csv_headers
release_class = Object.const_get subject
release_headers = release_class.csv_headers
release_headers.each do |header|
expect(csv_file).to match header
expect(csv_file).not_to match translation_missing
end
release_headers.each do |header|
expect(csv_file).to match header
expect(csv_file).not_to match translation_missing
end
complete_releases.each do |release|
expect(csv_file).to match release.person_first_name
end
complete_releases.each do |release|
expect(csv_file).to match release.person_first_name
end
incomplete_releases.each do |release|
expect(csv_file).not_to match release.person_first_name
end
incomplete_releases.each do |release|
expect(csv_file).not_to match release.person_first_name
end
end
end
@@ -166,19 +164,16 @@ describe GenerateContractsZipJob do
end
context "generates ZIP for acquired media releases" do
let(:release) { create(:acquired_media_release_with_contract_template, :native, project: project, name: "John Doe") }
let(:release2) { create(:acquired_media_release_with_contract_template, :native, project: project, name: "Jane Doe") }
let(:release3) { create(:acquired_media_release_with_contract_template, :native, project: project, name: "Brad Doe") }
let(:release) { create(:acquired_media_release_with_contract_template, :native, project: project) }
subject { 'AcquiredMediaRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for appearance releases" do
let(:release) { create(:appearance_release_with_contract_template, :native, project: project, person_name: "John") }
let(:incomplete_release) { create(:appearance_release_with_contract_template, project: project, person_name: "Jane") }
let(:complete_release) { create(:appearance_release_with_contract_template, :non_native, project: project, person_name: "Brad") }
let(:release) { create(:appearance_release_with_contract_template, :native, project: project, person_name: "John Doe") }
let(:incomplete_release) { create(:appearance_release_with_contract_template, project: project, person_name: "Jane Doe") }
let(:complete_release) { create(:appearance_release_with_contract_template, :non_native, project: project, person_name: "Brad Doe") }
subject { 'AppearanceRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
@@ -186,63 +181,45 @@ describe GenerateContractsZipJob do
end
context "generates ZIP for location releases" do
let(:release) { create(:location_release_with_contract_template, :native, project: project, name: "John") }
let(:release2) { create(:location_release_with_contract_template, :native, project: project, name: "Jane") }
let(:release3) { create(:location_release_with_contract_template, :native, project: project, name: "Brad") }
let(:release) { create(:location_release_with_contract_template, :native, project: project) }
subject { 'LocationRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for material releases" do
let(:release) { create(:material_release_with_contract_template, :native, project: project, name: "John") }
let(:release2) { create(:material_release_with_contract_template, :native, project: project, name: "Jane") }
let(:release3) { create(:material_release_with_contract_template, :native, project: project, name: "Brad") }
let(:release) { create(:material_release_with_contract_template, :native, project: project) }
subject { 'MaterialRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for medical releases" do
let(:release) { create(:medical_release_with_contract_template, :native, project: project, person_name: "John Doe") }
let(:release2) { create(:medical_release_with_contract_template, :native, project: project, person_name: "Jane Doe") }
let(:release3) { create(:medical_release_with_contract_template, :native, project: project, person_name: "Brad Doe") }
let(:release) { create(:medical_release_with_contract_template, :native, project: project) }
subject { 'MedicalRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for misc releases" do
let(:release) { create(:misc_release_with_contract_template, :native, project: project, person_name: "John Doe") }
let(:release2) { create(:misc_release_with_contract_template, :native, project: project, person_name: "Jane Doe") }
let(:release3) { create(:misc_release_with_contract_template, :native, project: project, person_name: "Brad Doe") }
let(:release) { create(:misc_release_with_contract_template, :native, project: project) }
subject { 'MiscRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for music releases" do
let(:release) { create(:music_release_with_contract_template, project: project, name: "John") }
let(:release2) { create(:music_release_with_contract_template, project: project, name: "Jane") }
let(:release3) { create(:music_release_with_contract_template, project: project, name: "Brad") }
let(:release) { create(:music_release_with_contract_template, project: project) }
subject { 'MusicRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "generates ZIP for talent releases" do
let(:release) { create(:talent_release_with_contract_template, :native, project: project, person_name: "John Doe") }
let(:release2) { create(:talent_release_with_contract_template, :native, project: project, person_name: "Jane Doe") }
let(:release3) { create(:talent_release_with_contract_template, :native, project: project, person_name: "Brad Doe") }
let(:release) { create(:talent_release_with_contract_template, :native, project: project) }
subject { 'TalentRelease' }
it_behaves_like "generates ZIP containig CSV file with all releases data"
it_behaves_like "generates ZIP containig CSV file with specific releases data"
end
context "When there are errors" do