ぼざクリタグ広場 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.
 
 
 
 
 
 

42 lines
1.2 KiB

  1. require 'rails_helper'
  2. RSpec.describe PostVersion, type: :model do
  3. let!(:tag_name) { TagName.create!(name: 'post_version_spec_tag') }
  4. let!(:tag) { Tag.create!(tag_name: tag_name, category: :general) }
  5. let!(:post_record) do
  6. Post.create!(title: 'spec post', url: 'https://example.com/post-version-spec').tap do |post|
  7. PostTag.create!(post: post, tag: tag)
  8. end
  9. end
  10. let!(:post_version) do
  11. PostVersion.create!(
  12. post: post_record,
  13. version_no: 1,
  14. event_type: 'create',
  15. title: post_record.title,
  16. url: post_record.url,
  17. thumbnail_base: post_record.thumbnail_base,
  18. tags: post_record.snapshot_tag_names.join(' '),
  19. parent: post_record.parent,
  20. original_created_from: post_record.original_created_from,
  21. original_created_before: post_record.original_created_before,
  22. created_at: Time.current,
  23. created_by_user: nil
  24. )
  25. end
  26. it 'is read only after create' do
  27. expect do
  28. post_version.update!(title: 'changed')
  29. end.to raise_error(ActiveRecord::ReadOnlyRecord)
  30. end
  31. it 'cannot be destroyed' do
  32. expect do
  33. post_version.destroy!
  34. end.to raise_error(ActiveRecord::ReadOnlyRecord)
  35. end
  36. end