|
- require 'rails_helper'
-
- RSpec.describe PostImplication, type: :model do
- let!(:post_record) do
- Post.create!(
- title: 'post',
- url: 'https://example.com/post-implication-post'
- )
- end
-
- let!(:parent_post) do
- Post.create!(
- title: 'parent post',
- url: 'https://example.com/post-implication-parent'
- )
- end
-
- it 'is valid with post and parent_post' do
- implication = described_class.new(
- post: post_record,
- parent_post:
- )
-
- expect(implication).to be_valid
- end
-
- it 'does not allow same post as parent_post' do
- implication = described_class.new(
- post: post_record,
- parent_post: post_record
- )
-
- expect(implication).not_to be_valid
- expect(implication.errors[:parent_post_id]).to be_present
- end
-
- it 'does not allow duplicate pair' do
- described_class.create!(
- post: post_record,
- parent_post:
- )
-
- duplicate = described_class.new(
- post: post_record,
- parent_post:
- )
-
- expect(duplicate).not_to be_valid
- expect(duplicate.errors[:post_id]).to be_present
- end
- end
|