Compare commits

..

3 Commits

Author SHA1 Message Date
Bilal
4dad4adde2 add safeguard 2020-07-03 18:44:34 +02:00
Bilal
85b99e18f5 add specs 2020-07-03 18:44:27 +02:00
Bilal
08f6380aaa make question answers required 2020-07-03 18:01:34 +02:00
24 changed files with 75 additions and 315 deletions

View File

@@ -1,13 +0,0 @@
$(document).on("turbolinks:load", function() {
$("[data-behavior=update-required-status]").click(function(e) {
const required = !!($(this)[0] && $(this)[0].checked);
$("[data-required-tag=guardian]").each(function(index, element) {
const labelForField = element.previousSibling;
element.required = required;
labelForField.classList.add("required");
});
});
});

View File

@@ -62,19 +62,18 @@ class ContractTemplatesController < ApplicationController
def contract_template_params def contract_template_params
params params
.require(:contract_template) .require(:contract_template)
.permit(:name, :release_type, :body, :guardian_clause, .permit(:name, :release_type, :body, :guardian_clause, :fee,
:signature_legal_text, :fee,
:applicable_medium_id, :applicable_medium_text, :applicable_medium_id, :applicable_medium_text,
:territory_id, :territory_text, :territory_id, :territory_text,
:term_id, :term_text, :term_id, :term_text,
:restriction_id, :restriction_text, :restriction_id, :restriction_text,
:question_1_text, :question_2_text, :question_1_text, :question_2_text,
:question_3_text, :question_4_text, :question_3_text, :question_4_text,
:question_5_text, :question_6_text, :question_5_text, :question_6_text,
:question_7_text, :question_8_text, :question_7_text, :question_8_text,
:question_9_text, :question_10_text, :question_9_text, :question_10_text,
:question_11_text, :question_12_text, :question_11_text, :question_12_text,
:question_13_text, :question_14_text, :question_13_text, :question_14_text,
:question_15_text) :question_15_text)
end end

View File

@@ -21,7 +21,6 @@ class ContractTemplate < ApplicationRecord
monetize :fee_cents monetize :fee_cents
has_rich_text :body has_rich_text :body
has_rich_text :guardian_clause has_rich_text :guardian_clause
has_rich_text :signature_legal_text
validates :name, presence: true validates :name, presence: true
validates :release_type, presence: true validates :release_type, presence: true

View File

@@ -14,37 +14,15 @@ class MedicalRelease < ApplicationRecord
NUMBER_OF_CUSTOM_FIELDS = 15 NUMBER_OF_CUSTOM_FIELDS = 15
composed_of :person_address, composed_of :person_address,
class_name: "Address", class_name: "Address",
mapping: [ mapping: [
%w[person_address_street1 street1], %w(person_address_street1 street1),
%w[person_address_street2 street2], %w(person_address_street2 street2),
%w[person_address_city city], %w(person_address_city city),
%w[person_address_state state], %w(person_address_state state),
%w[person_address_zip zip], %w(person_address_zip zip),
%w[person_address_country country] %w(person_address_country country)
]
composed_of :guardian_address,
class_name: 'Address',
mapping: [
%w[guardian_address_street1 street1],
%w[guardian_address_street2 street2],
%w[guardian_address_city city],
%w[guardian_address_state state],
%w[guardian_address_zip zip],
%w[guardian_address_country country]
]
composed_of :guardian_2_address,
class_name: 'Address',
mapping: [
%w[guardian_2_address_street1 street1],
%w[guardian_2_address_street2 street2],
%w[guardian_2_address_city city],
%w[guardian_2_address_state state],
%w[guardian_2_address_zip zip],
%w[guardian_2_address_country country]
] ]
def self.face_photo_acceptable_content_types def self.face_photo_acceptable_content_types

View File

@@ -25,11 +25,6 @@
<%= form.rich_text_area :guardian_clause %> <%= form.rich_text_area :guardian_clause %>
<% end %> <% end %>
</div> </div>
<div id="signature_legal_text">
<%= form.form_group do %>
<%= form.rich_text_area :signature_legal_text %>
<% end %>
</div>
<% end %> <% end %>
<%= field_set_tag content_tag(:span, t(".custom_fields.heading"), class: "h6 text-muted text-uppercase"), id: "custom_fields", style: "display: none;" do %> <%= field_set_tag content_tag(:span, t(".custom_fields.heading"), class: "h6 text-muted text-uppercase"), id: "custom_fields", style: "display: none;" do %>

View File

@@ -50,7 +50,7 @@
<hr> <hr>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, signature_legal_text: @contract_template.signature_legal_text.present? ? @contract_template.signature_legal_text : nil %> <%= render "shared/signature_fields", form: form %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -16,7 +16,7 @@
<% unless @contract_template.guardian_clause.blank? %> <% unless @contract_template.guardian_clause.blank? %>
<%= form.form_group :minor do %> <%= form.form_group :minor do %>
<%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { behavior: "update-required-status", target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %> <%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
<% end %> <% end %>
<%= card_field_set_tag t(".guardian_clause.heading") do %> <%= card_field_set_tag t(".guardian_clause.heading") do %>
@@ -72,12 +72,12 @@
<div class="<%= class_string("collapse" => !@appearance_release.minor?) %>" data-ujs-target="guardian-fields"> <div class="<%= class_string("collapse" => !@appearance_release.minor?) %>" data-ujs-target="guardian-fields">
<%= card_field_set_tag t(".guardian_info.heading") do %> <%= card_field_set_tag t(".guardian_info.heading") do %>
<div class="form-row"> <div class="form-row">
<%= form.text_field :guardian_first_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_first_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.text_field :guardian_last_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_last_name, required: @appearance_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.phone_field :guardian_phone, required: @appearance_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %> <%= form.phone_field :guardian_phone, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
<%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_email, required: @appearance_release.minor?, wrapper_class: "col-sm-6" %>
</div> </div>
<%= render "shared/address_fields", form: form, subject: "guardian", required: @appearance_release.minor?, data: { required_tag: "guardian" } %> <%= render "shared/address_fields", form: form, subject: "guardian", required: @appearance_release.minor? %>
<% end %> <% end %>
<hr> <hr>
@@ -156,7 +156,7 @@
<% end %> <% end %>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, signature_legal_text: @contract_template.signature_legal_text %> <%= render "shared/signature_fields", form: form %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -50,7 +50,7 @@
<% end %> <% end %>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, instruction: 'An Authorized Signatory', signature_legal_text: @contract_template.signature_legal_text %> <%= render "shared/signature_fields", form: form, instruction: 'An Authorized Signatory' %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -41,7 +41,7 @@
<hr> <hr>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, instruction: 'For Owner or Authorized Signatory', signature_legal_text: @contract_template.signature_legal_text %> <%= render "shared/signature_fields", form: form, instruction: 'For Owner or Authorized Signatory' %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -16,7 +16,7 @@
<% unless @contract_template.guardian_clause.blank? %> <% unless @contract_template.guardian_clause.blank? %>
<%= form.form_group :minor do %> <%= form.form_group :minor do %>
<%= form.check_box :minor, label: t("helpers.label.medical_release.minor"), data: { behavior: "update-required-status", target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %> <%= form.check_box :minor, label: t("helpers.label.medical_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
<% end %> <% end %>
<%= card_field_set_tag t(".guardian_clause.heading") do %> <%= card_field_set_tag t(".guardian_clause.heading") do %>
@@ -59,12 +59,14 @@
<div class="<%= class_string("collapse" => !@medical_release.minor?) %>" data-ujs-target="guardian-fields"> <div class="<%= class_string("collapse" => !@medical_release.minor?) %>" data-ujs-target="guardian-fields">
<%= card_field_set_tag t(".guardian_info.heading") do %> <%= card_field_set_tag t(".guardian_info.heading") do %>
<div class="form-row"> <div class="form-row">
<%= form.text_field :guardian_first_name, required: @medical_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_first_name, required: @medical_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.text_field :guardian_last_name, required: @medical_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_last_name, required: @medical_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.phone_field :guardian_phone, required: @medical_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %> <%= form.phone_field :guardian_phone, required: @medical_release.minor?, wrapper_class: "col-sm-6" %>
<%= form.text_field :guardian_email, required: @medical_release.minor?, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
</div> </div>
<%= render "shared/address_fields", form: form, subject: "guardian", required: @medical_release.minor?, data: { required_tag: "guardian" } %> <div class="form-row">
<%= form.text_field :guardian_email, required: @medical_release.minor?, wrapper_class: "col-sm-6" %>
</div>
<%= render "shared/address_fields", form: form, subject: "guardian", required: @medical_release.minor? %>
<% end %> <% end %>
<hr> <hr>
@@ -145,7 +147,7 @@
<% end %> <% end %>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, signature_legal_text: @contract_template.signature_legal_text %> <%= render "shared/signature_fields", form: form %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -11,7 +11,7 @@
<% unless @contract_template.guardian_clause.blank? %> <% unless @contract_template.guardian_clause.blank? %>
<%= form.form_group :minor do %> <%= form.form_group :minor do %>
<%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { behavior: "update-required-status", target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %> <%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
<% end %> <% end %>
<%= card_field_set_tag t(".guardian_clause.heading") do %> <%= card_field_set_tag t(".guardian_clause.heading") do %>
@@ -56,12 +56,14 @@
<div class="<%= class_string("collapse" => !@misc_release.minor?) %>" data-ujs-target="guardian-fields"> <div class="<%= class_string("collapse" => !@misc_release.minor?) %>" data-ujs-target="guardian-fields">
<%= card_field_set_tag t(".guardian_info.heading") do %> <%= card_field_set_tag t(".guardian_info.heading") do %>
<div class="form-row"> <div class="form-row">
<%= form.text_field :guardian_first_name, required: @misc_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_first_name, required: @misc_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.text_field :guardian_last_name, required: @misc_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_last_name, required: @misc_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %> <%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %>
</div> </div>
<%= render "shared/address_fields", form: form, subject: "guardian", data: { required_tag: "guardian" } %> <div class="form-row">
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6" %>
</div>
<%= render "shared/address_fields", form: form, subject: "guardian" %>
<% end %> <% end %>
<hr> <hr>
@@ -97,7 +99,7 @@
<% end %> <% end %>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, signature_legal_text: @contract_template.signature_legal_text %> <%= render "shared/signature_fields", form: form %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -16,7 +16,7 @@
<% unless @contract_template.guardian_clause.blank? %> <% unless @contract_template.guardian_clause.blank? %>
<%= form.form_group :minor do %> <%= form.form_group :minor do %>
<%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { behavior: "update-required-status", target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %> <%= form.check_box :minor, label: t("helpers.label.appearance_release.minor"), data: { target: "[data-ujs-target=guardian-fields]", toggle: "collapse" } %>
<% end %> <% end %>
<%= card_field_set_tag t(".guardian_clause.heading") do %> <%= card_field_set_tag t(".guardian_clause.heading") do %>
@@ -46,12 +46,12 @@
<div class="<%= class_string("collapse" => !@talent_release.minor?) %>" data-ujs-target="guardian-fields"> <div class="<%= class_string("collapse" => !@talent_release.minor?) %>" data-ujs-target="guardian-fields">
<%= card_field_set_tag t(".guardian_info.heading") do %> <%= card_field_set_tag t(".guardian_info.heading") do %>
<div class="form-row"> <div class="form-row">
<%= form.text_field :guardian_first_name, required: @talent_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_first_name, required: @talent_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.text_field :guardian_last_name, required: @talent_release.minor?, wrapper_class: "col-sm-3", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_last_name, required: @talent_release.minor?, wrapper_class: "col-sm-3" %>
<%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %> <%= form.phone_field :guardian_phone, wrapper_class: "col-sm-6" %>
<%= form.text_field :guardian_email, wrapper_class: "col-sm-6", data: { required_tag: "guardian" } %> <%= form.text_field :guardian_email, wrapper_class: "col-sm-6" %>
</div> </div>
<%= render "shared/address_fields", form: form, subject: "guardian", data: { required_tag: "guardian" } %> <%= render "shared/address_fields", form: form, subject: "guardian" %>
<% end %> <% end %>
<hr> <hr>
@@ -131,7 +131,7 @@
<% end %> <% end %>
<%= card_field_set_tag t(".signature.heading") do %> <%= card_field_set_tag t(".signature.heading") do %>
<%= render "shared/signature_fields", form: form, signature_legal_text: @contract_template.signature_legal_text %> <%= render "shared/signature_fields", form: form %>
<% end %> <% end %>
<div class="mt-5"> <div class="mt-5">

View File

@@ -1,15 +1,14 @@
<% field_name_prefix = subject.present? ? "#{subject}_" : "" %> <% field_name_prefix = subject.present? ? "#{subject}_" : "" %>
<% required = required || false %> <% required = required || false %>
<% data = data || nil %>
<div class="form-row"> <div class="form-row">
<%= form.text_field "#{field_name_prefix}address_street1", required: required, wrapper_class: "col-sm-6", data: data %> <%= form.text_field "#{field_name_prefix}address_street1", required: required, wrapper_class: "col-sm-6" %>
<%= form.text_field "#{field_name_prefix}address_street2", wrapper_class: "col-sm-6" %> <%= form.text_field "#{field_name_prefix}address_street2", wrapper_class: "col-sm-6" %>
</div> </div>
<div class="form-row"> <div class="form-row">
<%= form.text_field "#{field_name_prefix}address_city", required: required, wrapper_class: "col-sm-6", data: data %> <%= form.text_field "#{field_name_prefix}address_city", required: required, wrapper_class: "col-sm-6" %>
<%= form.text_field "#{field_name_prefix}address_state", required: required, wrapper_class: "col-sm-3", data: data %> <%= form.text_field "#{field_name_prefix}address_state", required: required, wrapper_class: "col-sm-3" %>
<%= form.text_field "#{field_name_prefix}address_zip", required: required, wrapper_class: "col-sm-3", data: data %> <%= form.text_field "#{field_name_prefix}address_zip", required: required, wrapper_class: "col-sm-3" %>
</div> </div>
<%= form.form_group "#{field_name_prefix}address_country" do %> <%= form.form_group "#{field_name_prefix}address_country" do %>
<%= form.label "#{field_name_prefix}address_country" %> <%= form.label "#{field_name_prefix}address_country" %>

View File

@@ -12,8 +12,4 @@
<%= fa_icon "refresh" %> <%= t "shared.clear" %> <%= fa_icon "refresh" %> <%= t "shared.clear" %>
<% end %> <% end %>
</div> </div>
<br>
<% if local_assigns[:signature_legal_text] && signature_legal_text.present? %>
<div class="alert alert-warning font-weight-bold"><%= signature_legal_text %></div>
<% end %>

View File

@@ -364,7 +364,6 @@ en:
contract_template: contract_template:
fee: Leave at $0.00 for no-fee fee: Leave at $0.00 for no-fee
guardian_clause: Leave blank if not required for this contract guardian_clause: Leave blank if not required for this contract
signature_legal_text: Leave blank if not required for this contract
task_request: task_request:
time_allowed: Minimum of 2 hours, no partial hours allowed time_allowed: Minimum of 2 hours, no partial hours allowed
video: video:

View File

@@ -160,7 +160,6 @@ es:
contract_template: contract_template:
fee: Leave at $0.00 for no-fee (ES) fee: Leave at $0.00 for no-fee (ES)
guardian_clause: Leave blank if not required for this contract (ES) guardian_clause: Leave blank if not required for this contract (ES)
signature_legal_text: Leave blank if not required for this contract (ES)
label: label:
appearance_release: appearance_release:
guardian_2_address_city: Guardian 2 city (ES) guardian_2_address_city: Guardian 2 city (ES)

View File

@@ -35,24 +35,6 @@ RSpec.feature 'User manages contract templates', type: :feature do
expect(page).to have_content(create_contract_template_success_message) expect(page).to have_content(create_contract_template_success_message)
end end
scenario 'creating new release template, all release types accept signature legal text' do
all_release_types = ['Acquired Media', 'Appearance', 'Location', 'Material', 'Medical', 'Misc', 'Talent']
all_release_types.each do |release_type|
visit new_project_contract_template_path(project)
dropdown_selection = "#{release_type} Release"
select dropdown_selection, from: 'Release type'
fill_in 'Name', with: "My #{release_type} template"
fill_in_trix signature_legal_text_field, with: 'LL'
expect do
click_on 'Create Release Template'
end.to change(ContractTemplate, :count).by(1)
end
end
scenario 'medical release template has a guardian clause field' do scenario 'medical release template has a guardian clause field' do
visit new_project_contract_template_path(project) visit new_project_contract_template_path(project)
@@ -328,10 +310,6 @@ RSpec.feature 'User manages contract templates', type: :feature do
'contract_template_guardian_clause_trix_input_contract_template' 'contract_template_guardian_clause_trix_input_contract_template'
end end
def signature_legal_text_field
'contract_template_signature_legal_text'
end
def create_contract_template_success_message def create_contract_template_success_message
'The release template has been created' 'The release template has been created'
end end
@@ -351,8 +329,4 @@ RSpec.feature 'User manages contract templates', type: :feature do
def create_release_template def create_release_template
t 'contract_templates.splash.actions.create_template' t 'contract_templates.splash.actions.create_template'
end end
def signature_legal_text_trix_field
'Signature legal text'
end
end end

View File

@@ -41,13 +41,6 @@ feature "User managing acquired_media releases" do
expect(AcquiredMediaRelease.last.categories).to include("Still Photograph") 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("Your release was successfully submitted. Thank you.")
end end
scenario "creating a release, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_acquired_media_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context "when signed in" do context "when signed in" do
@@ -364,8 +357,4 @@ feature "User managing acquired_media releases" do
def destroy_release_alert def destroy_release_alert
t "acquired_media_releases.destroy.alert" t "acquired_media_releases.destroy.alert"
end end
def dummy_signature_legal_text
'Some signature legal language'
end
end end

View File

@@ -30,24 +30,6 @@ feature 'User managing appearance releases' do
expect(page).to have_content(successful_submission_message) expect(page).to have_content(successful_submission_message)
end 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_appearance_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 scenario 'creating a release for a minor', js: true do
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true)) allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
@@ -68,7 +50,6 @@ feature 'User managing appearance releases' do
fill_in guardian_first_name_field, with: 'Guardian' fill_in guardian_first_name_field, with: 'Guardian'
fill_in guardian_last_name_field, with: 'Name' fill_in guardian_last_name_field, with: 'Name'
fill_in guardian_phone_field, with: '001101' fill_in guardian_phone_field, with: '001101'
fill_in guardian_email_field, with: 'valid@email.com'
fill_in person_first_name_field, with: 'Jane' fill_in person_first_name_field, with: 'Jane'
fill_in person_last_name_field, with: 'Doe' fill_in person_last_name_field, with: 'Doe'
fill_in_person_address_fields fill_in_person_address_fields
@@ -79,6 +60,11 @@ feature 'User managing appearance releases' do
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64' draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
fill_in guardian_email_field, with: 'invalid@email'
click_button submit_release_button
expect(page).to have_content('Guardian email is not an email')
fill_in guardian_email_field, with: 'valid@email.com'
fill_in_guardian_address_fields fill_in_guardian_address_fields
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64' draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
@@ -113,7 +99,6 @@ feature 'User managing appearance releases' do
fill_in guardian_first_name_field, with: 'Guardian' fill_in guardian_first_name_field, with: 'Guardian'
fill_in guardian_last_name_field, with: 'Name' fill_in guardian_last_name_field, with: 'Name'
fill_in guardian_phone_field, with: '001101' fill_in guardian_phone_field, with: '001101'
fill_in guardian_email_field, with: 'valid@email.com'
fill_in person_first_name_field, with: 'Jane' fill_in person_first_name_field, with: 'Jane'
fill_in person_last_name_field, with: 'Doe' fill_in person_last_name_field, with: 'Doe'
fill_in_person_address_fields fill_in_person_address_fields
@@ -124,6 +109,11 @@ feature 'User managing appearance releases' do
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64' draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
fill_in guardian_email_field, with: 'invalid@email'
click_button submit_release_button
expect(page).to have_content('Guardian email is not an email')
fill_in guardian_email_field, with: 'valid@email.com'
fill_in_guardian_address_fields fill_in_guardian_address_fields
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64' draw_signature file_fixture('signature.png'), 'appearance_release_signature_base64'
@@ -137,13 +127,6 @@ feature 'User managing appearance releases' do
expect(page).to have_content(successful_submission_message) expect(page).to have_content(successful_submission_message)
expect(AppearanceRelease.last.guardian_2_first_name).to eq 'Second' expect(AppearanceRelease.last.guardian_2_first_name).to eq 'Second'
end end
scenario "creating a release, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_appearance_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context 'when signed in' do context 'when signed in' do
@@ -713,8 +696,4 @@ feature 'User managing appearance releases' do
def guardian_2_photo_heading def guardian_2_photo_heading
t 'appearance_releases.form.photos.guardian_2_photo.heading' t 'appearance_releases.form.photos.guardian_2_photo.heading'
end end
def dummy_signature_legal_text
'Some signature legal language'
end
end end

View File

@@ -71,13 +71,6 @@ feature "User managing location releases" do
expect(page).to have_content("Your release was successfully submitted. Thank you.") expect(page).to have_content("Your release was successfully submitted. Thank you.")
expect(LocationRelease.last.photos.attached?).to eq true expect(LocationRelease.last.photos.attached?).to eq true
end end
scenario "creating a release, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_location_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context "when signed in" do context "when signed in" do
@@ -382,8 +375,4 @@ feature "User managing location releases" do
select "Other", from: "Restriction" select "Other", from: "Restriction"
fill_in "Describe other restrictions", with: "Test" fill_in "Describe other restrictions", with: "Test"
end end
def dummy_signature_legal_text
'Some signature legal language'
end
end end

View File

@@ -84,13 +84,6 @@ feature "User managing material releases" do
click_button submit_release_button click_button submit_release_button
expect(page).to have_content success_submit_message expect(page).to have_content success_submit_message
end end
scenario "creating a release, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_material_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context "when signed in" do context "when signed in" do
@@ -389,8 +382,4 @@ feature "User managing material releases" do
click_button submit_release_button click_button submit_release_button
expect(page).not_to have_content success_submit_message expect(page).not_to have_content success_submit_message
end end
def dummy_signature_legal_text
'Some signature legal language'
end
end end

View File

@@ -28,24 +28,6 @@ feature "User managing medical releases" do
expect(page).to have_content(successful_submission_message) expect(page).to have_content(successful_submission_message)
end 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_medical_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 scenario 'creating a release for a minor', js: true do
allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true)) allow(BrayniacAI::Validation).to receive(:create).and_return(double(:validation, valid: true))
@@ -65,7 +47,6 @@ feature "User managing medical releases" do
fill_in guardian_first_name_field, with: 'Guardian' fill_in guardian_first_name_field, with: 'Guardian'
fill_in guardian_last_name_field, with: 'Name' fill_in guardian_last_name_field, with: 'Name'
fill_in guardian_phone_field, with: '001101' fill_in guardian_phone_field, with: '001101'
fill_in guardian_email_field, with: "valid@email.com"
fill_in person_first_name_field, with: 'Jane' fill_in person_first_name_field, with: 'Jane'
fill_in person_last_name_field, with: 'Doe' fill_in person_last_name_field, with: 'Doe'
fill_in_person_address_fields fill_in_person_address_fields
@@ -75,6 +56,11 @@ feature "User managing medical releases" do
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64' draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
fill_in guardian_email_field, with: 'invalid@email'
click_button submit_release_button
expect(page).to have_content email_validation_error_for('Guardian')
fill_in guardian_email_field, with: 'valid@email.com'
fill_in_guardian_address_fields fill_in_guardian_address_fields
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64' draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
@@ -108,7 +94,6 @@ feature "User managing medical releases" do
fill_in guardian_first_name_field, with: 'Guardian' fill_in guardian_first_name_field, with: 'Guardian'
fill_in guardian_last_name_field, with: 'Name' fill_in guardian_last_name_field, with: 'Name'
fill_in guardian_phone_field, with: '001101' fill_in guardian_phone_field, with: '001101'
fill_in guardian_email_field, with: "valid@email.com"
fill_in person_first_name_field, with: 'Jane' fill_in person_first_name_field, with: 'Jane'
fill_in person_last_name_field, with: 'Doe' fill_in person_last_name_field, with: 'Doe'
fill_in_person_address_fields fill_in_person_address_fields
@@ -118,6 +103,11 @@ feature "User managing medical releases" do
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64' draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
fill_in guardian_email_field, with: 'invalid@email'
click_button submit_release_button
expect(page).to have_content email_validation_error_for('Guardian')
fill_in guardian_email_field, with: 'valid@email.com'
fill_in_guardian_address_fields fill_in_guardian_address_fields
attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all attach_file guardian_photo_field, file_fixture('hemsworth.jpeg'), visible: :all
draw_signature file_fixture('signature.png'), 'medical_release_signature_base64' draw_signature file_fixture('signature.png'), 'medical_release_signature_base64'
@@ -168,13 +158,6 @@ feature "User managing medical releases" do
expect(page).to have_content(successful_submission_message) expect(page).to have_content(successful_submission_message)
end end
scenario "creating a release, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_medical_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context "when signed in as account manager" do context "when signed in as account manager" do
@@ -454,8 +437,4 @@ feature "User managing medical releases" do
def answer_field_for_question(number) def answer_field_for_question(number)
"medical_release[question_#{number}_answer]" "medical_release[question_#{number}_answer]"
end end
def dummy_signature_legal_text
'Some signature legal language'
end
end end

View File

@@ -7,7 +7,7 @@ feature "User managing misc releases" do
context 'when signed out' do context 'when signed out' do
scenario 'creating a release for an adult', js: true do scenario 'creating a release for an adult', js: true do
project = create(:project, members: current_user, account: current_user.primary_account) project = create(:project, members: current_user, account: current_user.primary_account)
contract_template = create(:misc_release_contract_template, contract_template = create(:misc_release_contract_template,
question_1_text: "Question 1", question_1_text: "Question 1",
project: project) project: project)
@@ -30,31 +30,6 @@ feature "User managing misc releases" do
expect(page).to have_content(successful_submission_message) expect(page).to have_content(successful_submission_message)
end 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_misc_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, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_misc_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context "when signed in as account manager" do context "when signed in as account manager" do
@@ -202,12 +177,4 @@ feature "User managing misc releases" do
def successful_submission_message def successful_submission_message
"Your release was successfully submitted. Thank you." "Your release was successfully submitted. Thank you."
end end
def person_is_minor_checkbox
'misc_release_minor'
end
def dummy_signature_legal_text
'Some signature legal language'
end
end end

View File

@@ -32,24 +32,6 @@ feature "User managing talent releases" do
expect(page).to have_content("Your release was successfully submitted. Thank you.") expect(page).to have_content("Your release was successfully submitted. Thank you.")
end 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_talent_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 scenario "creating a release for a minor", js: true do
contract_template = create(:contract_template, project: project) contract_template = create(:contract_template, project: project)
@@ -66,8 +48,6 @@ feature "User managing talent releases" do
fill_in guardian_first_name_field, with: "Guardian" fill_in guardian_first_name_field, with: "Guardian"
fill_in guardian_last_name_field, with: "Name" fill_in guardian_last_name_field, with: "Name"
fill_in guardian_phone_field, with: "001101" fill_in guardian_phone_field, with: "001101"
fill_in guardian_email_field, with: "valid@email.com"
fill_in_guardian_address_fields
fill_in person_first_name_field, with: "Jane" fill_in person_first_name_field, with: "Jane"
fill_in person_last_name_field, with: "Doe" fill_in person_last_name_field, with: "Doe"
fill_in person_address_field, with: "123 Test Lane, New York, NY 10000" fill_in person_address_field, with: "123 Test Lane, New York, NY 10000"
@@ -108,9 +88,6 @@ feature "User managing talent releases" do
fill_in guardian_first_name_field, with: "Guardian" fill_in guardian_first_name_field, with: "Guardian"
fill_in guardian_last_name_field, with: "Name" fill_in guardian_last_name_field, with: "Name"
fill_in guardian_phone_field, with: "001101" fill_in guardian_phone_field, with: "001101"
fill_in guardian_email_field, with: "valid@email.com"
fill_in_guardian_address_fields
fill_in guardian_2_first_name_field, with: "Second" fill_in guardian_2_first_name_field, with: "Second"
fill_in guardian_2_last_name_field, with: "Guardian" fill_in guardian_2_last_name_field, with: "Guardian"
@@ -126,13 +103,6 @@ feature "User managing talent releases" do
expect(TalentRelease.last.guardian_2_photo.attached?).to eq true expect(TalentRelease.last.guardian_2_photo.attached?).to eq true
expect(TalentRelease.last.guardian_2_name).to eq "Second Guardian" expect(TalentRelease.last.guardian_2_name).to eq "Second Guardian"
end end
scenario "creating a release, if contract template contains signature legal language, it is shown" do
contract_template = create(:contract_template, project: project, signature_legal_text: dummy_signature_legal_text)
visit new_account_project_contract_template_talent_release_path(project.account, project, contract_template)
expect(page).to have_content dummy_signature_legal_text
end
end end
context "when signed in" do context "when signed in" do
@@ -417,30 +387,10 @@ feature "User managing talent releases" do
"talent_release[guardian_2_last_name]" "talent_release[guardian_2_last_name]"
end end
def guardian_address_street1_field
"talent_release[guardian_address_street1]"
end
def guardian_address_city_field
"talent_release[guardian_address_city]"
end
def guardian_address_state_field
"talent_release[guardian_address_state]"
end
def guardian_address_zip_field
"talent_release[guardian_address_zip]"
end
def guardian_phone_field def guardian_phone_field
"Guardian phone" "Guardian phone"
end end
def guardian_email_field
"talent_release[guardian_email]"
end
def guardian_photo_field def guardian_photo_field
"talent_release[guardian_photo]" "talent_release[guardian_photo]"
end end
@@ -555,15 +505,4 @@ feature "User managing talent releases" do
def contract_field def contract_field
"talent_release[contract]" "talent_release[contract]"
end 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 dummy_signature_legal_text
'Some signature legal language'
end
end end