Added relation score specs
This commit is contained in:
@@ -38,5 +38,13 @@ FactoryBot.define do
|
||||
end
|
||||
|
||||
factory :related_content do
|
||||
association :author, factory: :user
|
||||
association :parent_relationable, factory: [:proposal, :debate].sample
|
||||
association :child_relationable, factory: [:proposal, :debate].sample
|
||||
end
|
||||
|
||||
factory :related_content_score do
|
||||
association :user
|
||||
association :related_content
|
||||
end
|
||||
end
|
||||
|
||||
23
spec/models/related_content_score_spec.rb
Normal file
23
spec/models/related_content_score_spec.rb
Normal file
@@ -0,0 +1,23 @@
|
||||
require "rails_helper"
|
||||
|
||||
describe RelatedContentScore do
|
||||
it "is valid" do
|
||||
expect(build(:related_content_score)).to be_valid
|
||||
end
|
||||
|
||||
it "is not valid with empty user or empty related_content" do
|
||||
expect(build(:related_content_score, user: nil)).not_to be_valid
|
||||
expect(build(:related_content_score, related_content: nil)).not_to be_valid
|
||||
end
|
||||
|
||||
it "is not valid with repeated related content scores" do
|
||||
user = create(:user)
|
||||
related_content = build(:related_content)
|
||||
|
||||
create(:related_content_score, related_content: related_content, user: user)
|
||||
|
||||
new_score = build(:related_content_score, related_content: related_content, user: user)
|
||||
|
||||
expect(new_score).not_to be_valid
|
||||
end
|
||||
end
|
||||
@@ -5,6 +5,10 @@ describe RelatedContent do
|
||||
let(:parent_relationable) { create([:proposal, :debate].sample) }
|
||||
let(:child_relationable) { create([:proposal, :debate].sample) }
|
||||
|
||||
it "is valid" do
|
||||
expect(build(:related_content)).to be_valid
|
||||
end
|
||||
|
||||
it "allows relationables from various classes" do
|
||||
expect(build(:related_content, parent_relationable: parent_relationable, child_relationable: child_relationable)).to be_valid
|
||||
expect(build(:related_content, parent_relationable: parent_relationable, child_relationable: child_relationable)).to be_valid
|
||||
@@ -12,9 +16,8 @@ describe RelatedContent do
|
||||
end
|
||||
|
||||
it "does not allow empty relationables" do
|
||||
expect(build(:related_content)).not_to be_valid
|
||||
expect(build(:related_content, parent_relationable: parent_relationable)).not_to be_valid
|
||||
expect(build(:related_content, child_relationable: child_relationable)).not_to be_valid
|
||||
expect(build(:related_content, parent_relationable: nil)).not_to be_valid
|
||||
expect(build(:related_content, child_relationable: nil)).not_to be_valid
|
||||
end
|
||||
|
||||
it "does not allow repeated related contents" do
|
||||
|
||||
Reference in New Issue
Block a user