Create new polymorphic model Document.

This commit is contained in:
Senén Rodero Rodríguez
2017-07-20 12:08:42 +02:00
parent 3103fc3459
commit a141c82e33
7 changed files with 98 additions and 2 deletions

View File

@@ -368,6 +368,18 @@ FactoryGirl.define do
end
end
factory :document do
association :user, factory: :user
trait :proposal_document do
association :documentable, factory: :proposal
end
trait :budget_investment_document do
association :documentable, factory: :budget_investment
end
end
factory :comment do
association :commentable, factory: :debate
user

View File

@@ -0,0 +1,8 @@
require 'rails_helper'
describe Document do
it_behaves_like "document validations", "budget_investment_document"
it_behaves_like "document validations", "proposal_document"
end

View File

@@ -0,0 +1,27 @@
shared_examples "document validations" do |documentable_factory|
let(:documentable) { build(:document, documentable_factory.to_sym) }
it "should be valid" do
expect(documentable).to be_valid
end
it "should not be valid without a user_id" do
documentable.user_id = nil
expect(documentable).to_not be_valid
end
it "should not be valid without a documentable_id" do
documentable.documentable_id = nil
expect(documentable).to_not be_valid
end
it "should not be valid without a documentable_type" do
documentable.documentable_type = nil
expect(documentable).to_not be_valid
end
end