|
- require 'rails_helper'
-
- RSpec.describe VersionRecord, type: :model do
- let!(:tag) { create(:tag, name: 'version_record_tag') }
- let!(:nico_tag) { create(:tag, :nico, name: 'nico:version_record_tag') }
-
- it 'makes TagVersion read only after create' do
- version = TagVersion.create!(
- tag: tag,
- version_no: 1,
- event_type: 'create',
- name: tag.name,
- category: tag.category,
- aliases: '',
- parent_tag_ids: '',
- created_at: Time.current,
- created_by_user: nil
- )
-
- expect {
- version.update!(name: 'changed')
- }.to raise_error(ActiveRecord::ReadOnlyRecord)
- end
-
- it 'prevents TagVersion destroy' do
- version = TagVersion.create!(
- tag: tag,
- version_no: 1,
- event_type: 'create',
- name: tag.name,
- category: tag.category,
- aliases: '',
- parent_tag_ids: '',
- created_at: Time.current,
- created_by_user: nil
- )
-
- expect {
- version.destroy!
- }.to raise_error(ActiveRecord::ReadOnlyRecord)
- end
-
- it 'makes NicoTagVersion read only after create' do
- version = NicoTagVersion.create!(
- tag: nico_tag,
- version_no: 1,
- event_type: 'create',
- name: nico_tag.name,
- linked_tags: '',
- created_at: Time.current,
- created_by_user: nil
- )
-
- expect {
- version.update!(name: 'nico:changed')
- }.to raise_error(ActiveRecord::ReadOnlyRecord)
- end
-
- it 'prevents NicoTagVersion destroy' do
- version = NicoTagVersion.create!(
- tag: nico_tag,
- version_no: 1,
- event_type: 'create',
- name: nico_tag.name,
- linked_tags: '',
- created_at: Time.current,
- created_by_user: nil
- )
-
- expect {
- version.destroy!
- }.to raise_error(ActiveRecord::ReadOnlyRecord)
- end
- end
|