ぼざクリタグ広場 https://hub.nizika.monster
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

52 lines
1.1 KiB

  1. require 'rails_helper'
  2. RSpec.describe PostImplication, type: :model do
  3. let!(:post_record) do
  4. Post.create!(
  5. title: 'post',
  6. url: 'https://example.com/post-implication-post'
  7. )
  8. end
  9. let!(:parent_post) do
  10. Post.create!(
  11. title: 'parent post',
  12. url: 'https://example.com/post-implication-parent'
  13. )
  14. end
  15. it 'is valid with post and parent_post' do
  16. implication = described_class.new(
  17. post: post_record,
  18. parent_post:
  19. )
  20. expect(implication).to be_valid
  21. end
  22. it 'does not allow same post as parent_post' do
  23. implication = described_class.new(
  24. post: post_record,
  25. parent_post: post_record
  26. )
  27. expect(implication).not_to be_valid
  28. expect(implication.errors[:parent_post_id]).to be_present
  29. end
  30. it 'does not allow duplicate pair' do
  31. described_class.create!(
  32. post: post_record,
  33. parent_post:
  34. )
  35. duplicate = described_class.new(
  36. post: post_record,
  37. parent_post:
  38. )
  39. expect(duplicate).not_to be_valid
  40. expect(duplicate.errors[:post_id]).to be_present
  41. end
  42. end