Initial commit
This commit is contained in:
79
spec/models/contract_template_preview_spec.rb
Normal file
79
spec/models/contract_template_preview_spec.rb
Normal file
@@ -0,0 +1,79 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
describe ContractTemplatePreview do
|
||||
describe '#build_releasable' do
|
||||
it 'fills missing contract template data' do
|
||||
ct = ContractTemplate.new
|
||||
ct.release_type = :talent
|
||||
preview = ContractTemplatePreview.new(ct)
|
||||
expect do
|
||||
preview.build_releasable
|
||||
end.to change { ct.name }
|
||||
.and change { ct.body.to_s }
|
||||
.and change { ct.guardian_clause.to_s }
|
||||
end
|
||||
|
||||
it 'does not overwrite existing contract template data' do
|
||||
ct = build(:contract_template)
|
||||
preview = ContractTemplatePreview.new(ct)
|
||||
expect do
|
||||
preview.build_releasable
|
||||
end.to not_change { ct.name }
|
||||
.and not_change { ct.body.to_s }
|
||||
.and not_change { ct.guardian_clause.to_s }
|
||||
end
|
||||
|
||||
describe 'fills releasable with dummy data' do
|
||||
it 'with guardian details when guardian clause is present' do
|
||||
ct = build(:contract_template)
|
||||
preview = ContractTemplatePreview.new(ct)
|
||||
releasable = preview.build_releasable
|
||||
expect(releasable.attributes).to include(expected_dummy_data)
|
||||
end
|
||||
|
||||
it 'with guardian details when guardian clause is not present' do
|
||||
ct = ContractTemplate.new
|
||||
ct.release_type = :appearance
|
||||
preview = ContractTemplatePreview.new(ct)
|
||||
releasable = preview.build_releasable
|
||||
expect(releasable.attributes).to include(expected_dummy_data)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def expected_dummy_data
|
||||
{
|
||||
'id' => nil,
|
||||
'person_first_name' => 'Dummy',
|
||||
'person_last_name' => 'Person',
|
||||
'person_address' => 'Street 1, Street 2, City, State 12345, Country',
|
||||
'person_phone' => '00 111 222 333 4444',
|
||||
'updated_at' => nil,
|
||||
'minor' => true,
|
||||
'guardian_address' => 'Street 3, Street 4, City-2, State-2 112233, Country-2',
|
||||
"guardian_first_name" => nil,
|
||||
"guardian_last_name" => nil,
|
||||
"guardian_name_old" => nil,
|
||||
'guardian_phone' => '00 123 456 7890',
|
||||
'person_email' => 'email@email.com',
|
||||
'locale' => nil,
|
||||
'tagging_status' => 'pending',
|
||||
'contract_template_id' => nil,
|
||||
'applicable_medium_id' => nil,
|
||||
'applicable_medium_text' => '',
|
||||
'territory_id' => nil,
|
||||
'territory_text' => '',
|
||||
'term_id' => nil,
|
||||
'term_text' => '',
|
||||
'restriction_id' => nil,
|
||||
'restriction_text' => '',
|
||||
'signed_at' => nil,
|
||||
'internal_tag_list' => nil,
|
||||
'tag_list' => nil
|
||||
}
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user