|
- require 'rails_helper'
-
- RSpec.describe PostVersion, type: :model do
- let!(:tag_name) { TagName.create!(name: 'post_version_spec_tag') }
- let!(:tag) { Tag.create!(tag_name: tag_name, category: :general) }
-
- let!(:post_record) do
- Post.create!(title: 'spec post', url: 'https://example.com/post-version-spec').tap do |post|
- PostTag.create!(post: post, tag: tag)
- end
- end
-
- let!(:post_version) do
- PostVersion.create!(
- post: post_record,
- version_no: 1,
- event_type: 'create',
- title: post_record.title,
- url: post_record.url,
- thumbnail_base: post_record.thumbnail_base,
- tags: post_record.snapshot_tag_names.join(' '),
- parent: post_record.parent,
- original_created_from: post_record.original_created_from,
- original_created_before: post_record.original_created_before,
- created_at: Time.current,
- created_by_user: nil
- )
- end
-
- it 'is read only after create' do
- expect do
- post_version.update!(title: 'changed')
- end.to raise_error(ActiveRecord::ReadOnlyRecord)
- end
-
- it 'cannot be destroyed' do
- expect do
- post_version.destroy!
- end.to raise_error(ActiveRecord::ReadOnlyRecord)
- end
- end
|