mirror of
https://github.com/internetee/registry.git
synced 2025-06-09 06:04:56 +02:00
Add tests for fixing ignored columns in versions
This commit is contained in:
parent
3d424e3dd0
commit
e4352d121a
2 changed files with 30 additions and 2 deletions
|
@ -61,8 +61,8 @@ module Versions
|
|||
preceding(time + 1, true).
|
||||
select("distinct on (item_id) #{ver_klass.table_name}.*").
|
||||
map do |ver|
|
||||
ignored_columns = ver.item_type.constantize&.ignored_columns
|
||||
o = new(ver.object&.except!(*ignored_columns))
|
||||
valid_columns = ver.item_type.constantize&.column_names
|
||||
o = new(ver.object&.slice(*valid_columns))
|
||||
o.version_loader = ver
|
||||
ver.object_changes.to_h.each { |k, v| o.public_send("#{k}=", v[-1]) }
|
||||
o
|
||||
|
|
28
test/models/concerns/versions_test.rb
Normal file
28
test/models/concerns/versions_test.rb
Normal file
|
@ -0,0 +1,28 @@
|
|||
require 'test_helper'
|
||||
|
||||
class VersionsTest < ActiveSupport::TestCase
|
||||
|
||||
def test_if_gets_all_versions_without_error_if_ignored_column_present
|
||||
@nameserver = nameservers(:shop_ns1)
|
||||
@nameserver.update(hostname: 'ns99.bestnames.test')
|
||||
@ignored_column_title = Nameserver.ignored_columns.first
|
||||
|
||||
version = NameserverVersion.last
|
||||
hash = version.object
|
||||
hash[@ignored_column_title] = 123456
|
||||
version.update(object: hash)
|
||||
|
||||
assert_nothing_raised do
|
||||
Nameserver.all_versions_for([@nameserver.id], Time.zone.now)
|
||||
end
|
||||
end
|
||||
|
||||
def test_if_gets_all_versions_without_error_if_no_ignored_column
|
||||
@account = accounts(:cash)
|
||||
@account.update(currency: 'USD')
|
||||
|
||||
assert_nothing_raised do
|
||||
Account.all_versions_for([@account.id], Time.zone.now)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue