From 021ac7ffc6605143517d9d28cfa67c201ed5adeb Mon Sep 17 00:00:00 2001 From: bilal Date: Thu, 11 Jun 2020 21:52:14 +0200 Subject: [PATCH] make all location release fields required for native release --- app/models/location_release.rb | 7 +- .../location_releases_controller_spec.rb | 52 +++++++++---- spec/factories/location_releases.rb | 26 +++++++ .../user_managing_location_releases_spec.rb | 73 ++++++++++++++++++- spec/models/location_release_spec.rb | 22 +++++- 5 files changed, 164 insertions(+), 16 deletions(-) diff --git a/app/models/location_release.rb b/app/models/location_release.rb index a5b6a02..913201b 100644 --- a/app/models/location_release.rb +++ b/app/models/location_release.rb @@ -36,7 +36,12 @@ class LocationRelease < ApplicationRecord validate :end_date_after_start_date with_options on: :native do - validates :person_first_name, :person_last_name, presence: true + validates :address_street1, :address_city, :address_state, :address_zip, :address_country, + :person_first_name, :person_last_name, + :person_phone, :person_email, :person_company, :person_title, + :person_address_street1, :person_address_city, :person_address_state, + :person_address_zip, :person_address_country, + :filming_started_on, :filming_ended_on, :filming_hours, presence: true validates :signature, attached: true end diff --git a/spec/controllers/public/location_releases_controller_spec.rb b/spec/controllers/public/location_releases_controller_spec.rb index af10c12..5dfd904 100644 --- a/spec/controllers/public/location_releases_controller_spec.rb +++ b/spec/controllers/public/location_releases_controller_spec.rb @@ -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