make all location release fields required for native release

This commit is contained in:
bilal
2020-06-11 21:52:14 +02:00
parent 6d62caa96a
commit 021ac7ffc6
5 changed files with 164 additions and 16 deletions

View File

@@ -19,9 +19,9 @@ describe Public::LocationReleasesController do
it "logs analytics" do
contract_template = create(:contract_template, project: project)
expect {
expect do
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, location_release: location_release_params }
}.to(
end.to(
have_enqueued_job(TrackAnalyticsJob)
.with(nil, nil, :track_create_native_release, release_type: "LocationRelease", account: project.account, user_agent: "Rails Testing", user_ip: "0.0.0.0")
)
@@ -31,28 +31,54 @@ describe Public::LocationReleasesController do
contract_template = create(:contract_template, project: project)
sign_in(user)
post :create, params: { account_id: user.primary_account.to_param, project_id: project, contract_template_id: contract_template, location_release: { person_address_city: "Albuquerque", filming_started_on: '02/02/02', filming_ended_on: '01/01/02' } }
expect do
post :create, params: {
account_id: user.primary_account.to_param,
project_id: project,
contract_template_id: contract_template,
location_release: attributes_for(:empty_location_release)
}
end.not_to change(LocationRelease, :count)
body = CGI.unescape_html(response.body)
expect(body).to match /Name can't be blank/
expect(body).to match />can't be blank</
# expect(body).to match /must be after the filming started on date/
expect(body).to match /Address street1 can't be blank/
expect(body).to match /Address city can't be blank/
expect(body).to match /Address state can't be blank/
expect(body).to match /Address zip can't be blank/
expect(body).to match /Address country can't be blank/
expect(body).to match /Person first name can't be blank/
expect(body).to match /Person last name can't be blank/
expect(body).to match /Phone can't be blank/
expect(body).to match /Email can't be blank/
expect(body).to match /Company can't be blank/
expect(body).to match /Title can't be blank/
expect(body).to match /Person address street1 can't be blank/
expect(body).to match /Person address city can't be blank/
expect(body).to match /Person address state can't be blank/
expect(body).to match /Person address zip can't be blank/
expect(body).to match /Person address country can't be blank/
expect(body).to match /Filming started on can't be blank/
expect(body).to match /Filming ended on can't be blank/
expect(body).to match /Filming hours can't be blank/
expect(body).to match /Signature is not attached/
end
it "renders a success page" 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, location_release: location_release_params, filming_started_on: '01/02/20', filming_ended_on: '03/18/20' }
expect {
post :create, params: { account_id: user.primary_account.to_param, project_id: project, contract_template_id: contract_template, location_release: location_release_params, filming_started_on: '01/02/20', filming_ended_on: '03/18/20' }
}.to change(LocationRelease, :count).by(1)
expect(response).to be_successful
end
it "runs set tags for releasable job" do
contract_template = create(:contract_template, project: project)
expect {
expect do
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, location_release: location_release_params }
}.to(
end.to(
have_enqueued_job(SetTagsForReleasableJob)
.with(LocationRelease.last)
)
@@ -61,9 +87,9 @@ describe Public::LocationReleasesController do
it "runs attach contract to releasable job" do
contract_template = create(:contract_template, project: project)
expect {
expect do
post :create, params: { account_id: project.account.to_param, project_id: project, contract_template_id: contract_template, location_release: location_release_params }
}.to(
end.to(
have_enqueued_job(AttachContractToReleasableJob)
.with(LocationRelease.last)
)
@@ -73,11 +99,11 @@ describe Public::LocationReleasesController do
private
def location_release_params
attributes_for(:location_release, :native).except(:signature).merge(signature_param).merge(person_address_params)
attributes_for(:location_release, :full_native).except(:signature).merge(signature_param).merge(person_address_params)
end
def location_release_params_with_photos
attributes_for(:location_release, :native, :with_photo).except(:signature).merge(signature_param)
attributes_for(:location_release, :full_native, :with_photo).except(:signature).merge(signature_param)
end
def person_address_params