diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-07-09 22:32:26 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-07-09 22:32:26 -0700 |
commit | 026dc7ad72ba972f230b6709e31fa64397d75ad4 (patch) | |
tree | c5af1a7ac9154744afc3660e9a9405892f2bb50b /rt/t/ticket/time-worked.t | |
parent | 07b4bc84d1078f7390221d766cdb3142513db4b0 (diff) | |
parent | 1c538bfabc2cd31f27067505f0c3d1a46cba6ef0 (diff) |
merge RT 4.2.11 and Header changes to disable RT javascript, RT#34237
Diffstat (limited to 'rt/t/ticket/time-worked.t')
-rw-r--r-- | rt/t/ticket/time-worked.t | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/rt/t/ticket/time-worked.t b/rt/t/ticket/time-worked.t new file mode 100644 index 0000000..3e87242 --- /dev/null +++ b/rt/t/ticket/time-worked.t @@ -0,0 +1,80 @@ +use strict; +use warnings; + +use RT::Test tests => 27; + +my $queue = RT::Test->load_or_create_queue( Name => 'General' ); +ok $queue && $queue->id, "loaded or created a queue"; + +note 'set on Create'; +{ + my $ticket = RT::Test->create_ticket( + Queue => $queue->id, TimeWorked => 10, + ); + is $ticket->TimeWorked, 10, 'correct value'; + + my $txn = RT::Transaction->new( RT->SystemUser ); + $txn->LoadByCols( + ObjectType => 'RT::Ticket', ObjectId => $ticket->id, + Type => 'Create', + ); + ok $txn->id, 'found transaction'; + is $txn->TimeTaken, 10, 'correct value'; +} + +note 'set on Comment'; +{ + my $ticket = RT::Test->create_ticket( Queue => $queue->id ); + ok !$ticket->TimeWorked, 'correct value'; + $ticket->Comment( Content => 'test', TimeTaken => 10 ); + is $ticket->TimeWorked, 10, 'correct value'; + + my $txn = RT::Transaction->new( RT->SystemUser ); + $txn->LoadByCols( + ObjectType => 'RT::Ticket', ObjectId => $ticket->id, + Type => 'Comment', + ); + ok $txn->id, 'found transaction'; + is $txn->TimeTaken, 10, 'correct value'; +} + +note 'update'; +{ + my $ticket = RT::Test->create_ticket( Queue => $queue->id ); + ok !$ticket->TimeWorked, 'correct value'; + $ticket->SetTimeWorked( 10 ); + is $ticket->TimeWorked, 10, 'correct value'; + + my $txn = RT::Transaction->new( RT->SystemUser ); + $txn->LoadByCols( + ObjectType => 'RT::Ticket', ObjectId => $ticket->id, + Type => 'Set', Field => 'TimeWorked', + ); + ok $txn->id, 'found transaction'; + is $txn->TimeTaken, 10, 'correct value'; +} + +note 'on Merge'; +{ + my $ticket = RT::Test->create_ticket( + Queue => $queue->id, TimeWorked => 7, + ); + { + my $tmp = RT::Test->create_ticket( + Queue => $queue->id, TimeWorked => 13, + ); + my ($status, $msg) = $tmp->MergeInto( $ticket->id ); + ok $status, "merged tickets"; + } + $ticket->Load( $ticket->id ); + is $ticket->TimeWorked, 20, 'correct value'; +} + +sub dump_txns { + my $ticket = shift; + my $txns = $ticket->Transactions; + while ( my $txn = $txns->Next ) { + diag sprintf "#%d\t%s\t%s\t%d", map $txn->$_() // '', qw(id Type Field TimeTaken); + } +} + |