mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
81 lines
1.9 KiB
Ruby
81 lines
1.9 KiB
Ruby
require 'rails_helper'
|
|
|
|
describe Country do
|
|
context 'about class' do
|
|
it 'should have versioning enabled?' do
|
|
Country.paper_trail_enabled_for_model?.should == true
|
|
end
|
|
|
|
it 'should have custom log prexied table name for versions table' do
|
|
CountryVersion.table_name.should == 'log_countries'
|
|
end
|
|
end
|
|
|
|
context 'with invalid attribute' do
|
|
before :all do
|
|
@country = Country.new
|
|
end
|
|
|
|
it 'should not be valid' do
|
|
@country.valid?
|
|
@country.errors.full_messages.should match_array([
|
|
"Name is missing"
|
|
])
|
|
end
|
|
|
|
it 'should not have any versions' do
|
|
@country.versions.should == []
|
|
end
|
|
|
|
it 'should not have any creator' do
|
|
@country.creator_str.should == nil
|
|
end
|
|
|
|
it 'should not have any updater' do
|
|
@country.updator_str.should == nil
|
|
end
|
|
end
|
|
|
|
context 'with valid attributes' do
|
|
before :all do
|
|
@country = Fabricate(:country)
|
|
end
|
|
|
|
it 'should be valid' do
|
|
@country.valid?
|
|
@country.errors.full_messages.should match_array([])
|
|
end
|
|
|
|
it 'should not have a version' do
|
|
with_versioning do
|
|
@country.versions.should == []
|
|
@country.name = 'New name'
|
|
@country.save
|
|
@country.versions.size.should == 1
|
|
end
|
|
end
|
|
|
|
it 'should have creator' do
|
|
PaperTrail.whodunnit = 'test-user'
|
|
|
|
with_versioning do
|
|
@country = Fabricate(:country)
|
|
@country.name = 'Updated name'
|
|
@country.save
|
|
@country.creator_str.should == 'test-user'
|
|
@country.updator_str.should == 'test-user'
|
|
end
|
|
end
|
|
|
|
it 'should have creator' do
|
|
PaperTrail.whodunnit = 'test-user-2'
|
|
|
|
with_versioning do
|
|
@country.name = 'Updated name'
|
|
@country.save
|
|
@country.updator_str.should == 'test-user-2'
|
|
@country.creator_str.should == nil # Factory does not have it
|
|
end
|
|
end
|
|
end
|
|
end
|