Upstream sync

This commit is contained in:
Senad Uka
2020-08-20 06:50:51 +02:00
parent 190ff2854b
commit 41bf88e358
127 changed files with 1399 additions and 565 deletions

View File

@@ -95,7 +95,7 @@ describe ContractTemplatesController do
describe '#create' do
it 'redirects' do
post :create, params: { project_id: project, contract_template: contract_template_params(valid: true) }
expect(response).to redirect_to(project_contract_templates_path(project))
end
@@ -112,6 +112,14 @@ describe ContractTemplatesController do
end.to change(ContractTemplate, :count).by(1)
end
it "logs analytics" do
expect {
post :create, params: { project_id: project, contract_template: contract_template_params }
}.to(
have_enqueued_job(TrackAnalyticsJob).with(current_user, current_user.primary_account, :track_create_contract_template, user_agent: "Rails Testing", user_ip: "0.0.0.0")
)
end
context 'when save fails' do
it 'responds ok' do
post :create, params: { project_id: project, contract_template: contract_template_params(valid: false) }
@@ -120,6 +128,15 @@ describe ContractTemplatesController do
end
end
context 'when exhibit fields are present' do
it 'saves them' do
post :create, params: { project_id: project, contract_template: contract_template_params_with_exhibit_fields }
expect(ContractTemplate.last.has_exhibit_a?).to be_truthy
expect(ContractTemplate.last.has_exhibit_b?).to be_truthy
end
end
context 'when current user is an associate' do
let(:current_user) { create(:user, :associate) }
@@ -214,12 +231,21 @@ describe ContractTemplatesController do
def contract_template_params(valid: true)
if valid
attributes_for(:contract_template).merge(exploitable_rights_params)
attributes_for(:contract_template).merge(exploitable_rights_params).merge({exhibit_a_legal_text: "Legal Text Exhibit A"})
else
attributes_for(:contract_template).except(:name)
end
end
def contract_template_params_with_exhibit_fields
contract_template_params(valid: true).merge({
exhibit_a_legal_text: "Exhibit A legal text",
exhibit_b_legal_text: "Exhibit B legal text",
exhibit_a_question_text: "Exhibit A Question",
exhibit_b_question_text: "Exhibit B Question",
})
end
def exploitable_rights_params
{
applicable_medium_id: ApplicableMedium.last.id,