Improvd tests.

This commit is contained in:
Martin Edenhofer 2015-02-06 10:22:46 +01:00
parent db294351e9
commit 01e9ad534f

View file

@ -20,6 +20,12 @@ class TicketRefObjectTouchTest < ActiveSupport::TestCase
:created_by_id => 1, :created_by_id => 1,
) )
roles = Role.where( :name => 'Customer' ) roles = Role.where( :name => 'Customer' )
organization1 = Organization.create_if_not_exists(
:name => 'Ref Object Update Org',
:updated_at => '2015-02-05 16:37:00',
:updated_by_id => 1,
:created_by_id => 1,
)
customer1 = User.create_or_update( customer1 = User.create_or_update(
:login => 'ticket-ref-object-update-customer1@example.com', :login => 'ticket-ref-object-update-customer1@example.com',
:firstname => 'Notification', :firstname => 'Notification',
@ -27,22 +33,30 @@ class TicketRefObjectTouchTest < ActiveSupport::TestCase
:email => 'ticket-ref-object-update-customer1@example.com', :email => 'ticket-ref-object-update-customer1@example.com',
:password => 'customerpw', :password => 'customerpw',
:active => true, :active => true,
:organization_id => organization1.id,
:roles => roles, :roles => roles,
:updated_at => '2015-02-05 16:37:00', :updated_at => '2015-02-05 16:37:00',
:updated_by_id => 1, :updated_by_id => 1,
:created_by_id => 1, :created_by_id => 1,
) )
organization1 = Organization.create_if_not_exists( customer2 = User.create_or_update(
:name => 'Ref Object Update Org', :login => 'ticket-ref-object-update-customer2@example.com',
:firstname => 'Notification',
:lastname => 'Agent2',
:email => 'ticket-ref-object-update-customer2@example.com',
:password => 'customerpw',
:active => true,
:organization_id => nil,
:roles => roles,
:updated_at => '2015-02-05 16:37:00', :updated_at => '2015-02-05 16:37:00',
:updated_by_id => 1, :updated_by_id => 1,
:created_by_id => 1, :created_by_id => 1,
) )
test 'check if customer and organization has been updated' do test 'a - check if customer and organization has been updated' do
ticket = Ticket.create( ticket = Ticket.create(
:title => "some title\n äöüß", :title => "some title1\n äöüß",
:group => Group.lookup( :name => 'Users'), :group => Group.lookup( :name => 'Users'),
:customer_id => customer1.id, :customer_id => customer1.id,
:owner_id => agent1.id, :owner_id => agent1.id,
@ -52,6 +66,8 @@ class TicketRefObjectTouchTest < ActiveSupport::TestCase
:created_by_id => 1, :created_by_id => 1,
) )
assert( ticket, "ticket created" ) assert( ticket, "ticket created" )
assert_equal( ticket.customer.id, customer1.id )
assert_equal( ticket.organization.id, organization1.id )
# check if customer and organization has been touched # check if customer and organization has been touched
customer1 = User.find(customer1.id) customer1 = User.find(customer1.id)
@ -68,7 +84,7 @@ class TicketRefObjectTouchTest < ActiveSupport::TestCase
assert( false, "organization1.updated_at has not been updated" ) assert( false, "organization1.updated_at has not been updated" )
end end
sleep 5 sleep 4
delete = ticket.destroy delete = ticket.destroy
assert( delete, "ticket destroy" ) assert( delete, "ticket destroy" )
@ -87,6 +103,59 @@ class TicketRefObjectTouchTest < ActiveSupport::TestCase
else else
assert( false, "organization1.updated_at has not been updated" ) assert( false, "organization1.updated_at has not been updated" )
end end
end
test 'b - check if customer (not organization) has been updated' do
sleep 3
ticket = Ticket.create(
:title => "some title2\n äöüß",
:group => Group.lookup( :name => 'Users'),
:customer_id => customer2.id,
:owner_id => agent1.id,
:state => Ticket::State.lookup( :name => 'new' ),
:priority => Ticket::Priority.lookup( :name => '2 normal' ),
:updated_by_id => 1,
:created_by_id => 1,
)
assert( ticket, "ticket created" )
assert_equal( ticket.customer.id, customer2.id )
assert_equal( ticket.organization, nil )
# check if customer and organization has been touched
customer2 = User.find(customer2.id)
if customer2.updated_at > 2.second.ago
assert( true, "customer2.updated_at has been updated" )
else
assert( false, "customer2.updated_at has not been updated" )
end
organization1 = Organization.find(organization1.id)
if organization1.updated_at > 2.second.ago
assert( false, "organization1.updated_at has been updated" )
else
assert( true, "organization1.updated_at has not been updated" )
end
sleep 3
delete = ticket.destroy
assert( delete, "ticket destroy" )
# check if customer and organization has been touched
customer2 = User.find(customer2.id)
if customer2.updated_at > 2.second.ago
assert( true, "customer2.updated_at has been updated" )
else
assert( false, "customer2.updated_at has not been updated" )
end
organization1 = Organization.find(organization1.id)
if organization1.updated_at > 2.second.ago
assert( false, "organization1.updated_at has been updated" )
else
assert( true, "organization1.updated_at has not been updated" )
end
end end
end end