Improved unit tests.

This commit is contained in:
Martin Edenhofer 2013-10-05 14:56:03 +02:00
parent 11973b9b28
commit 2bf4558b96
6 changed files with 261 additions and 43 deletions

View file

@ -479,6 +479,7 @@ log object create activity stream, if configured - will be executed automaticall
=end =end
def activity_stream_create def activity_stream_create
return if !self.class.activity_stream_support_config
activity_stream_log( 'created', self['created_by_id'] ) activity_stream_log( 'created', self['created_by_id'] )
end end
@ -492,7 +493,34 @@ log object update activity stream, if configured - will be executed automaticall
=end =end
def activity_stream_update def activity_stream_update
return if !self.class.activity_stream_support_config
return if !self.changed? return if !self.changed?
# default ignored attributes
ignore_attributes = {
:created_at => true,
:updated_at => true,
:created_by_id => true,
:updated_by_id => true,
}
if self.class.activity_stream_support_config[:ignore_attributes]
self.class.activity_stream_support_config[:ignore_attributes].each {|key, value|
ignore_attributes[key] = value
}
end
log = false
self.changes.each {|key, value|
# do not log created_at and updated_at attributes
next if ignore_attributes[key.to_sym] == true
log = true
}
return if !log
activity_stream_log( 'updated', self['updated_by_id'] ) activity_stream_log( 'updated', self['updated_by_id'] )
end end

View file

@ -16,7 +16,6 @@ returns
=end =end
def activity_stream_log (type, user_id) def activity_stream_log (type, user_id)
return if !self.class.activity_stream_support_config
role = self.class.activity_stream_support_config[:role] role = self.class.activity_stream_support_config[:role]
ActivityStream.add( ActivityStream.add(
:o_id => self['id'], :o_id => self['id'],

View file

@ -16,10 +16,16 @@ class Ticket < ApplicationModel
after_update :notify_clients_after_update after_update :notify_clients_after_update
after_destroy :notify_clients_after_destroy after_destroy :notify_clients_after_destroy
activity_stream_support activity_stream_support :ignore_attributes => {
:create_article_type_id => true,
:create_article_sender_id => true,
:article_count => true,
}
history_support :ignore_attributes => { history_support :ignore_attributes => {
:article_count => true, :create_article_type_id => true,
:create_article_sender_id => true,
:article_count => true,
} }
belongs_to :group belongs_to :group

View file

@ -14,11 +14,14 @@ class Ticket::Article < ApplicationModel
after_update :notify_clients_after_update after_update :notify_clients_after_update
after_destroy :notify_clients_after_destroy after_destroy :notify_clients_after_destroy
activity_stream_support activity_stream_support :ignore_attributes => {
:ticket_article_type_id => true,
:ticket_article_sender_id => true,
}
history_support :ignore_attributes => { history_support :ignore_attributes => {
:create_article_type_id => true, :ticket_article_type_id => true,
:create_article_sender_id => true, :ticket_article_sender_id => true,
} }
attr_accessor :attachments attr_accessor :attachments

View file

@ -4,7 +4,7 @@ require 'test_helper'
class ActivityStreamTest < ActiveSupport::TestCase class ActivityStreamTest < ActiveSupport::TestCase
role = Role.lookup( :name => 'Admin' ) role = Role.lookup( :name => 'Admin' )
group = Group.lookup( :name => 'Users' ) group = Group.lookup( :name => 'Users' )
user = User.create_or_update( admin_user = User.create_or_update(
:login => 'admin', :login => 'admin',
:firstname => 'Bob', :firstname => 'Bob',
:lastname => 'Smith', :lastname => 'Smith',
@ -16,6 +16,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
:updated_by_id => 1, :updated_by_id => 1,
:created_by_id => 1 :created_by_id => 1
) )
current_user = User.lookup( :login => 'nicole.braun@zammad.org' )
test 'ticket+user' do test 'ticket+user' do
tests = [ tests = [
@ -25,17 +26,17 @@ class ActivityStreamTest < ActiveSupport::TestCase
:create => { :create => {
:ticket => { :ticket => {
:group_id => Group.lookup( :name => 'Users' ).id, :group_id => Group.lookup( :name => 'Users' ).id,
:customer_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :customer_id => current_user.id,
:owner_id => User.lookup( :login => '-' ).id, :owner_id => User.lookup( :login => '-' ).id,
:title => 'Unit Test 1 (äöüß)!', :title => 'Unit Test 1 (äöüß)!',
:ticket_state_id => Ticket::State.lookup( :name => 'new' ).id, :ticket_state_id => Ticket::State.lookup( :name => 'new' ).id,
:ticket_priority_id => Ticket::Priority.lookup( :name => '2 normal' ).id, :ticket_priority_id => Ticket::Priority.lookup( :name => '2 normal' ).id,
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
}, },
:article => { :article => {
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
:ticket_article_type_id => Ticket::Article::Type.lookup( :name => 'phone' ).id, :ticket_article_type_id => Ticket::Article::Type.lookup( :name => 'phone' ).id,
:ticket_article_sender_id => Ticket::Article::Sender.lookup( :name => 'Customer' ).id, :ticket_article_sender_id => Ticket::Article::Sender.lookup( :name => 'Customer' ).id,
:from => 'Unit Test <unittest@example.com>', :from => 'Unit Test <unittest@example.com>',
@ -52,17 +53,20 @@ class ActivityStreamTest < ActiveSupport::TestCase
}, },
:check => [ :check => [
{ {
:result => true,
:object => 'Ticket', :object => 'Ticket',
:type => 'created', :type => 'created',
}, },
{ {
:result => true,
:object => 'Ticket::Article', :object => 'Ticket::Article',
:type => 'created', :type => 'created',
}, },
{ {
:result => false,
:object => 'User', :object => 'User',
:type => 'updated', :type => 'updated',
:o_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :o_id => current_user.id,
}, },
] ]
}, },
@ -78,14 +82,14 @@ class ActivityStreamTest < ActiveSupport::TestCase
ticket = Ticket.create( test[:create][:ticket] ) ticket = Ticket.create( test[:create][:ticket] )
test[:check][0][:o_id] = ticket.id test[:check][0][:o_id] = ticket.id
test[:check][0][:created_at] = ticket.created_at test[:check][0][:created_at] = ticket.created_at
test[:check][0][:created_by_id] = User.lookup( :login => 'nicole.braun@zammad.org' ).id test[:check][0][:created_by_id] = current_user.id
sleep 2 sleep 2
test[:create][:article][:ticket_id] = ticket.id test[:create][:article][:ticket_id] = ticket.id
article = Ticket::Article.create( test[:create][:article] ) article = Ticket::Article.create( test[:create][:article] )
test[:check][1][:o_id] = article.id test[:check][1][:o_id] = article.id
test[:check][1][:created_at] = article.created_at test[:check][1][:created_at] = article.created_at
test[:check][1][:created_by_id] = User.lookup( :login => 'nicole.braun@zammad.org' ).id test[:check][1][:created_by_id] = current_user.id
assert_equal( ticket.class.to_s, 'Ticket' ) assert_equal( ticket.class.to_s, 'Ticket' )
assert_equal( article.class.to_s, 'Ticket::Article' ) assert_equal( article.class.to_s, 'Ticket::Article' )
@ -95,9 +99,9 @@ class ActivityStreamTest < ActiveSupport::TestCase
ticket.update_attributes( test[:update][:ticket] ) ticket.update_attributes( test[:update][:ticket] )
# check updated user # check updated user
test[:check][2][:o_id] = User.lookup( :login => 'nicole.braun@zammad.org' ).id test[:check][2][:o_id] = current_user.id
test[:check][2][:created_at] = ticket.created_at test[:check][2][:created_at] = ticket.created_at
test[:check][2][:created_by_id] = User.lookup( :login => 'nicole.braun@zammad.org' ).id test[:check][2][:created_by_id] = current_user.id
end end
if test[:update][:article] if test[:update][:article]
article.update_attributes( test[:update][:article] ) article.update_attributes( test[:update][:article] )
@ -108,7 +112,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
tickets.push ticket tickets.push ticket
# check activity_stream # check activity_stream
activity_stream_check( user.activity_stream(3), test[:check] ) activity_stream_check( admin_user.activity_stream(3), test[:check] )
} }
# delete tickets # delete tickets
@ -128,8 +132,8 @@ class ActivityStreamTest < ActiveSupport::TestCase
:create => { :create => {
:organization => { :organization => {
:name => 'some name', :name => 'some name',
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
}, },
}, },
:update1 => { :update1 => {
@ -144,10 +148,12 @@ class ActivityStreamTest < ActiveSupport::TestCase
}, },
:check => [ :check => [
{ {
:result => true,
:object => 'Organization', :object => 'Organization',
:type => 'created', :type => 'created',
}, },
{ {
:result => true,
:object => 'Organization', :object => 'Organization',
:type => 'updated', :type => 'updated',
}, },
@ -160,7 +166,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
organization = Organization.create( test[:create][:organization] ) organization = Organization.create( test[:create][:organization] )
test[:check][0][:o_id] = organization.id test[:check][0][:o_id] = organization.id
test[:check][0][:created_at] = organization.created_at test[:check][0][:created_at] = organization.created_at
test[:check][0][:created_by_id] = User.lookup( :login => 'nicole.braun@zammad.org' ).id test[:check][0][:created_by_id] = current_user.id
sleep 11 sleep 11
assert_equal( organization.class.to_s, 'Organization' ) assert_equal( organization.class.to_s, 'Organization' )
@ -169,7 +175,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
organization.update_attributes( test[:update1][:organization] ) organization.update_attributes( test[:update1][:organization] )
test[:check][1][:o_id] = organization.id test[:check][1][:o_id] = organization.id
test[:check][1][:updated_at] = organization.updated_at test[:check][1][:updated_at] = organization.updated_at
test[:check][1][:created_by_id] = User.lookup( :login => 'nicole.braun@zammad.org' ).id test[:check][1][:created_by_id] = current_user.id
sleep 2 sleep 2
end end
@ -181,7 +187,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
organizations.push organization organizations.push organization
# check activity_stream # check activity_stream
activity_stream_check( user.activity_stream(2), test[:check] ) activity_stream_check( admin_user.activity_stream(2), test[:check] )
} }
# delete tickets # delete tickets
@ -194,6 +200,152 @@ class ActivityStreamTest < ActiveSupport::TestCase
end end
test 'user with update check false' do
tests = [
# test 1
{
:create => {
:user => {
:login => 'someemail@example.com',
:email => 'Bob Smith II <someemail@example.com>',
:updated_by_id => current_user.id,
:created_by_id => current_user.id,
},
},
:update1 => {
:user => {
:firstname => 'Bob U',
:lastname => 'Smith U',
},
},
:check => [
{
:result => true,
:object => 'User',
:type => 'created',
},
{
:result => false,
:object => 'User',
:type => 'updated',
},
]
},
]
users = []
tests.each { |test|
user = User.create( test[:create][:user] )
test[:check][0][:o_id] = user.id
test[:check][0][:created_at] = user.created_at
test[:check][0][:created_by_id] = current_user.id
assert_equal( user.class.to_s, 'User' )
if test[:update1][:user]
user.update_attributes( test[:update1][:user] )
test[:check][1][:o_id] = user.id
test[:check][1][:updated_at] = user.updated_at
test[:check][1][:created_by_id] = current_user.id
end
# remember organization
users.push user
# check activity_stream
activity_stream_check( admin_user.activity_stream(2), test[:check] )
}
# delete tickets
users.each { |user|
user_id = user.id
user.destroy
found = User.where( :id => user_id ).first
assert( !found, "User destroyed")
}
end
test 'user with update check true' do
tests = [
# test 1
{
:create => {
:user => {
:login => 'someemail@example.com',
:email => 'Bob Smith II <someemail@example.com>',
:updated_by_id => current_user.id,
:created_by_id => current_user.id,
},
},
:update1 => {
:user => {
:firstname => 'Bob U',
:lastname => 'Smith U',
},
},
:update2 => {
:user => {
:firstname => 'Bob',
:lastname => 'Smith', },
},
:check => [
{
:result => true,
:object => 'User',
:type => 'created',
},
{
:result => true,
:object => 'User',
:type => 'updated',
},
]
},
]
users = []
tests.each { |test|
user = User.create( test[:create][:user] )
test[:check][0][:o_id] = user.id
test[:check][0][:created_at] = user.created_at
test[:check][0][:created_by_id] = current_user.id
assert_equal( user.class.to_s, 'User' )
if test[:update1][:user]
user.update_attributes( test[:update1][:user] )
test[:check][1][:o_id] = user.id
test[:check][1][:updated_at] = user.updated_at
test[:check][1][:created_by_id] = current_user.id
end
# to verify update which need to be logged
sleep 14
if test[:update2][:user]
user.update_attributes( test[:update2][:user] )
end
# remember organization
users.push user
# check activity_stream
activity_stream_check( admin_user.activity_stream(2), test[:check] )
}
# delete tickets
users.each { |user|
user_id = user.id
user.destroy
found = User.where( :id => user_id ).first
assert( !found, "User destroyed")
}
end
def activity_stream_check( activity_stream_list, checks ) def activity_stream_check( activity_stream_list, checks )
puts 'AS ' + activity_stream_list.inspect puts 'AS ' + activity_stream_list.inspect
checks.each { |check_item| checks.each { |check_item|
@ -210,7 +362,11 @@ class ActivityStreamTest < ActiveSupport::TestCase
next if item['o_id'] != check_item[:o_id] next if item['o_id'] != check_item[:o_id]
match = true match = true
} }
assert( match, "activity stream check not matched! #{check_item.inspect}") if check_item[:result]
assert( match, "activity stream check not matched! #{check_item.inspect}")
else
assert( !match, "activity stream check matched but should not! #{check_item.inspect}")
end
} }
end end

View file

@ -2,6 +2,8 @@
require 'test_helper' require 'test_helper'
class HistoryTest < ActiveSupport::TestCase class HistoryTest < ActiveSupport::TestCase
current_user = User.lookup( :login => 'nicole.braun@zammad.org' )
test 'ticket' do test 'ticket' do
tests = [ tests = [
@ -10,17 +12,17 @@ class HistoryTest < ActiveSupport::TestCase
:ticket_create => { :ticket_create => {
:ticket => { :ticket => {
:group_id => Group.lookup( :name => 'Users' ).id, :group_id => Group.lookup( :name => 'Users' ).id,
:customer_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :customer_id => current_user.id,
:owner_id => User.lookup( :login => '-' ).id, :owner_id => User.lookup( :login => '-' ).id,
:title => 'Unit Test 1 (äöüß)!', :title => 'Unit Test 1 (äöüß)!',
:ticket_state_id => Ticket::State.lookup( :name => 'new' ).id, :ticket_state_id => Ticket::State.lookup( :name => 'new' ).id,
:ticket_priority_id => Ticket::Priority.lookup( :name => '2 normal' ).id, :ticket_priority_id => Ticket::Priority.lookup( :name => '2 normal' ).id,
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
}, },
:article => { :article => {
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
:ticket_article_type_id => Ticket::Article::Type.lookup( :name => 'phone' ).id, :ticket_article_type_id => Ticket::Article::Type.lookup( :name => 'phone' ).id,
:ticket_article_sender_id => Ticket::Article::Sender.lookup( :name => 'Customer' ).id, :ticket_article_sender_id => Ticket::Article::Sender.lookup( :name => 'Customer' ).id,
:from => 'Unit Test <unittest@example.com>', :from => 'Unit Test <unittest@example.com>',
@ -37,10 +39,12 @@ class HistoryTest < ActiveSupport::TestCase
}, },
:history_check => [ :history_check => [
{ {
:result => true,
:history_object => 'Ticket', :history_object => 'Ticket',
:history_type => 'created', :history_type => 'created',
}, },
{ {
:result => true,
:history_object => 'Ticket', :history_object => 'Ticket',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'title', :history_attribute => 'title',
@ -48,6 +52,7 @@ class HistoryTest < ActiveSupport::TestCase
:value_to => 'Unit Test 1 (äöüß) - update!', :value_to => 'Unit Test 1 (äöüß) - update!',
}, },
{ {
:result => true,
:history_object => 'Ticket', :history_object => 'Ticket',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'ticket_state', :history_attribute => 'ticket_state',
@ -57,8 +62,14 @@ class HistoryTest < ActiveSupport::TestCase
:id_to => Ticket::State.lookup( :name => 'open' ).id, :id_to => Ticket::State.lookup( :name => 'open' ).id,
}, },
{ {
:history_object => 'Ticket::Article', :result => true,
:history_type => 'created', :history_object => 'Ticket::Article',
:history_type => 'created',
},
{
:result => false,
:history_object => 'User',
:history_type => 'updated',
}, },
] ]
}, },
@ -68,17 +79,17 @@ class HistoryTest < ActiveSupport::TestCase
:ticket_create => { :ticket_create => {
:ticket => { :ticket => {
:group_id => Group.lookup( :name => 'Users' ).id, :group_id => Group.lookup( :name => 'Users' ).id,
:customer_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :customer_id => current_user.id,
:owner_id => User.lookup( :login => '-' ).id, :owner_id => User.lookup( :login => '-' ).id,
:title => 'Unit Test 2 (äöüß)!', :title => 'Unit Test 2 (äöüß)!',
:ticket_state_id => Ticket::State.lookup( :name => 'new' ).id, :ticket_state_id => Ticket::State.lookup( :name => 'new' ).id,
:ticket_priority_id => Ticket::Priority.lookup( :name => '2 normal' ).id, :ticket_priority_id => Ticket::Priority.lookup( :name => '2 normal' ).id,
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
}, },
:article => { :article => {
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:ticket_article_type_id => Ticket::Article::Type.lookup(:name => 'phone' ).id, :ticket_article_type_id => Ticket::Article::Type.lookup(:name => 'phone' ).id,
:ticket_article_sender_id => Ticket::Article::Sender.lookup(:name => 'Customer' ).id, :ticket_article_sender_id => Ticket::Article::Sender.lookup(:name => 'Customer' ).id,
:from => 'Unit Test <unittest@example.com>', :from => 'Unit Test <unittest@example.com>',
@ -90,7 +101,7 @@ class HistoryTest < ActiveSupport::TestCase
:ticket => { :ticket => {
:title => 'Unit Test 2 (äöüß) - update!', :title => 'Unit Test 2 (äöüß) - update!',
:ticket_state_id => Ticket::State.lookup( :name => 'open' ).id, :ticket_state_id => Ticket::State.lookup( :name => 'open' ).id,
:owner_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :owner_id => current_user.id,
}, },
:article => { :article => {
:from => 'Unit 2 Test 2 <unittest@example.com>', :from => 'Unit 2 Test 2 <unittest@example.com>',
@ -98,10 +109,12 @@ class HistoryTest < ActiveSupport::TestCase
}, },
:history_check => [ :history_check => [
{ {
:result => true,
:history_object => 'Ticket', :history_object => 'Ticket',
:history_type => 'created', :history_type => 'created',
}, },
{ {
:result => true,
:history_object => 'Ticket', :history_object => 'Ticket',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'title', :history_attribute => 'title',
@ -109,19 +122,22 @@ class HistoryTest < ActiveSupport::TestCase
:value_to => 'Unit Test 2 (äöüß) - update!', :value_to => 'Unit Test 2 (äöüß) - update!',
}, },
{ {
:result => true,
:history_object => 'Ticket', :history_object => 'Ticket',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'owner', :history_attribute => 'owner',
:value_from => '-', :value_from => '-',
:value_to => 'Nicole Braun', :value_to => 'Nicole Braun',
:id_from => User.lookup( :login => '-' ).id, :id_from => User.lookup( :login => '-' ).id,
:id_to => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :id_to => current_user.id,
}, },
{ {
:result => true,
:history_object => 'Ticket::Article', :history_object => 'Ticket::Article',
:history_type => 'created', :history_type => 'created',
}, },
{ {
:result => true,
:history_object => 'Ticket::Article', :history_object => 'Ticket::Article',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'from', :history_attribute => 'from',
@ -186,8 +202,8 @@ class HistoryTest < ActiveSupport::TestCase
:lastname => 'Smith', :lastname => 'Smith',
:email => 'somebody@example.com', :email => 'somebody@example.com',
:active => true, :active => true,
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
}, },
}, },
:user_update => { :user_update => {
@ -199,10 +215,12 @@ class HistoryTest < ActiveSupport::TestCase
}, },
:history_check => [ :history_check => [
{ {
:result => true,
:history_object => 'User', :history_object => 'User',
:history_type => 'created', :history_type => 'created',
}, },
{ {
:result => true,
:history_object => 'User', :history_object => 'User',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'lastname', :history_attribute => 'lastname',
@ -210,6 +228,7 @@ class HistoryTest < ActiveSupport::TestCase
:value_to => 'Master', :value_to => 'Master',
}, },
{ {
:result => true,
:history_object => 'User', :history_object => 'User',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'email', :history_attribute => 'email',
@ -217,6 +236,7 @@ class HistoryTest < ActiveSupport::TestCase
:value_to => 'master@example.com', :value_to => 'master@example.com',
}, },
{ {
:result => true,
:history_object => 'User', :history_object => 'User',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'active', :history_attribute => 'active',
@ -270,8 +290,8 @@ class HistoryTest < ActiveSupport::TestCase
:organization => { :organization => {
:name => 'Org äöüß', :name => 'Org äöüß',
:note => 'some note', :note => 'some note',
:updated_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :updated_by_id => current_user.id,
:created_by_id => User.lookup( :login => 'nicole.braun@zammad.org' ).id, :created_by_id => current_user.id,
}, },
}, },
:organization_update => { :organization_update => {
@ -282,10 +302,12 @@ class HistoryTest < ActiveSupport::TestCase
}, },
:history_check => [ :history_check => [
{ {
:result => true,
:history_object => 'Organization', :history_object => 'Organization',
:history_type => 'created', :history_type => 'created',
}, },
{ {
:result => true,
:history_object => 'Organization', :history_object => 'Organization',
:history_type => 'updated', :history_type => 'updated',
:history_attribute => 'name', :history_attribute => 'name',
@ -365,7 +387,11 @@ class HistoryTest < ActiveSupport::TestCase
assert_equal( check_item[:id_to], history_item['id_to'], "check history :id_to #{history_item['id_to']} ok") assert_equal( check_item[:id_to], history_item['id_to'], "check history :id_to #{history_item['id_to']} ok")
end end
} }
assert( match, "history check not matched! #{check_item.inspect}") if check_item[:result]
assert( match, "history check not matched! #{check_item.inspect}")
else
assert( !match, "history check matched but should not! #{check_item.inspect}")
end
} }
end end