diff options
Diffstat (limited to 'rt/t/lifecycles')
-rw-r--r-- | rt/t/lifecycles/basics.t | 8 | ||||
-rw-r--r-- | rt/t/lifecycles/dates.t | 67 | ||||
-rw-r--r-- | rt/t/lifecycles/moving.t | 4 | ||||
-rw-r--r-- | rt/t/lifecycles/types.t | 33 | ||||
-rw-r--r-- | rt/t/lifecycles/unresolved-deps.t | 4 | ||||
-rw-r--r-- | rt/t/lifecycles/utils.pl | 7 |
6 files changed, 79 insertions, 44 deletions
diff --git a/rt/t/lifecycles/basics.t b/rt/t/lifecycles/basics.t index 554c95a73..e18bea3c4 100644 --- a/rt/t/lifecycles/basics.t +++ b/rt/t/lifecycles/basics.t @@ -1,7 +1,5 @@ - use strict; use warnings; -use Data::Dumper; BEGIN {require 't/lifecycles/utils.pl'}; @@ -19,7 +17,7 @@ my $tstatus = sub { diag "check basic API"; { - my $schema = $general->Lifecycle; + my $schema = $general->LifecycleObj; isa_ok($schema, 'RT::Lifecycle'); is $schema->Name, 'default', "it's a default schema"; is_deeply [$schema->Valid], @@ -80,7 +78,7 @@ diag "check status input on create"; my $valid = 1; foreach ( @form_values ) { - next if $general->Lifecycle->IsValid($_); + next if $general->LifecycleObj->IsValid($_); $valid = 0; diag("$_ doesn't appear to be a valid status, but it was in the form"); } @@ -244,3 +242,5 @@ diag "'!inactive -> inactive' actions are shown even if ticket has unresolved de ); } +undef $m; +done_testing; diff --git a/rt/t/lifecycles/dates.t b/rt/t/lifecycles/dates.t index 4f613f8d3..0c74a1b21 100644 --- a/rt/t/lifecycles/dates.t +++ b/rt/t/lifecycles/dates.t @@ -1,7 +1,5 @@ - use strict; use warnings; -use Data::Dumper; BEGIN {require 't/lifecycles/utils.pl'}; @@ -23,16 +21,13 @@ my $tstatus = sub { return $ticket->Status; }; -my ($baseurl, $m) = RT::Test->started_ok; -ok $m->login, 'logged in'; - diag "check basic API"; { - my $schema = $general->Lifecycle; + my $schema = $general->LifecycleObj; isa_ok($schema, 'RT::Lifecycle'); is $schema->Name, 'default', "it's a default schema"; - $schema = $delivery->Lifecycle; + $schema = $delivery->LifecycleObj; isa_ok($schema, 'RT::Lifecycle'); is $schema->Name, 'delivery', "it's a delivery schema"; } @@ -47,8 +42,8 @@ diag "dates on create for default schema"; Status => 'new', ); ok $id, 'created a ticket'; - ok $ticket->StartedObj->Unix <= 0, 'started is not set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->StartedObj->IsSet, 'started is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; } { my $ticket = RT::Ticket->new( RT->SystemUser ); @@ -58,8 +53,8 @@ diag "dates on create for default schema"; Status => 'open', ); ok $id, 'created a ticket'; - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; } { my $ticket = RT::Ticket->new( RT->SystemUser ); @@ -69,8 +64,8 @@ diag "dates on create for default schema"; Status => 'resolved', ); ok $id, 'created a ticket'; - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix > 0, 'resolved is set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok $ticket->ResolvedObj->IsSet, 'resolved is set'; } my $test_date = '2008-11-28 12:00:00'; @@ -140,7 +135,7 @@ diag "dates on create for delivery schema"; is $ticket->Status, 'ordered', "Status is ordered"; my ($statusval,$statusmsg) = $ticket->SetStatus('on way'); ok($statusval,$statusmsg); - ok $ticket->StartedObj->Unix > 0, 'started is set to ' .$ticket->StartedObj->AsString ; + ok $ticket->StartedObj->IsSet, 'started is set to ' .$ticket->StartedObj->AsString ; is $ticket->ResolvedObj->Unix, 0, 'resolved is not set'; } { @@ -157,8 +152,8 @@ diag "dates on create for delivery schema"; ($statusval,$statusmsg) = $ticket->SetStatus('delivered'); ok($statusval,$statusmsg); - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix > 0, 'resolved is set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok $ticket->ResolvedObj->IsSet, 'resolved is set'; } my $test_date = '2008-11-28 12:00:00'; @@ -220,30 +215,30 @@ diag "dates on status change for default schema"; Status => 'new', ); ok $id, 'created a ticket'; - ok $ticket->StartedObj->Unix <= 0, 'started is not set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->StartedObj->IsSet, 'started is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; (my $status, $msg) = $ticket->SetStatus('open'); ok $status, 'changed status' or diag "error: $msg"; - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; my $started = $ticket->StartedObj->Unix; ($status, $msg) = $ticket->SetStatus('stalled'); ok $status, 'changed status' or diag "error: $msg"; is $ticket->StartedObj->Unix, $started, 'started is set and the same'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; ($status, $msg) = $ticket->SetStatus('open'); ok $status, 'changed status' or diag "error: $msg"; is $ticket->StartedObj->Unix, $started, 'started is set and the same'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; ($status, $msg) = $ticket->SetStatus('resolved'); ok $status, 'changed status' or diag "error: $msg"; is $ticket->StartedObj->Unix, $started, 'started is set and the same'; - ok $ticket->ResolvedObj->Unix > 0, 'resolved is set'; + ok $ticket->ResolvedObj->IsSet, 'resolved is set'; } diag "dates on status change for delivery schema"; @@ -255,25 +250,25 @@ diag "dates on status change for delivery schema"; Status => 'ordered', ); ok $id, 'created a ticket'; - ok $ticket->StartedObj->Unix <= 0, 'started is not set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->StartedObj->IsSet, 'started is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; (my $status, $msg) = $ticket->SetStatus('delayed'); ok $status, 'changed status' or diag "error: $msg"; - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; my $started = $ticket->StartedObj->Unix; ($status, $msg) = $ticket->SetStatus('on way'); ok $status, 'changed status' or diag "error: $msg"; is $ticket->StartedObj->Unix, $started, 'started is set and the same'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; ($status, $msg) = $ticket->SetStatus('delivered'); ok $status, 'changed status' or diag "error: $msg"; is $ticket->StartedObj->Unix, $started, 'started is set and the same'; - ok $ticket->ResolvedObj->Unix > 0, 'resolved is set'; + ok $ticket->ResolvedObj->IsSet, 'resolved is set'; } diag "add partial map between general->delivery"; @@ -299,18 +294,20 @@ diag "check date changes on moving a ticket"; Status => 'new', ); ok $id, 'created a ticket'; - ok $ticket->StartedObj->Unix <= 0, 'started is not set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok !$ticket->StartedObj->IsSet, 'started is not set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; (my $status, $msg) = $ticket->SetQueue( $delivery->id ); ok $status, "moved ticket between queues with different schemas"; is $ticket->Status, 'on way', 'status has been changed'; - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok !$ticket->ResolvedObj->IsSet, 'resolved is not set'; ($status, $msg) = $ticket->SetQueue( $general->id ); ok $status, "moved ticket between queues with different schemas"; is $ticket->Status, 'resolved', 'status has been changed'; - ok $ticket->StartedObj->Unix > 0, 'started is set'; - ok $ticket->ResolvedObj->Unix > 0, 'resolved is set'; + ok $ticket->StartedObj->IsSet, 'started is set'; + ok $ticket->ResolvedObj->IsSet, 'resolved is set'; } + +done_testing; diff --git a/rt/t/lifecycles/moving.t b/rt/t/lifecycles/moving.t index 5f184e2c2..8a03e3ea6 100644 --- a/rt/t/lifecycles/moving.t +++ b/rt/t/lifecycles/moving.t @@ -1,7 +1,5 @@ - use strict; use warnings; -use Data::Dumper; BEGIN {require 't/lifecycles/utils.pl'}; @@ -94,3 +92,5 @@ diag "one way map doesn't work backwards"; is $ticket->Queue, $delivery->id, 'queue is steal the same'; is $ticket->Status, 'ordered', 'status is steal the same'; } + +done_testing; diff --git a/rt/t/lifecycles/types.t b/rt/t/lifecycles/types.t new file mode 100644 index 000000000..79b0714b1 --- /dev/null +++ b/rt/t/lifecycles/types.t @@ -0,0 +1,33 @@ +use strict; +use warnings; + +BEGIN {require 't/lifecycles/utils.pl'}; + +is_deeply( [ RT::Lifecycle->ListAll ], [qw/ approvals default delivery /], + "Get the list of all lifecycles (implicitly for for tickets)"); +is_deeply( [ RT::Lifecycle->ListAll('ticket') ], [qw/ approvals default delivery /], + "Get the list of all lifecycles for tickets"); +is_deeply( [ RT::Lifecycle->List], [qw/ default delivery /], + "Get the list of lifecycles without approvals (implicitly for for tickets)"); +is_deeply( [ RT::Lifecycle->List('ticket') ], [qw/ default delivery /], + "Get the list of lifecycles without approvals for tickets"); +is_deeply( [ RT::Lifecycle->List('racecar') ], [qw/ racing /], + "Get the list of lifecycles for other types"); + +my $tickets = RT::Lifecycle->Load( Name => '', Type => 'ticket' ); +ok($tickets, "Got a generalized lifecycle for tickets"); +isa_ok( $tickets, "RT::Lifecycle::Ticket", "Is the right subclass" ); +is_deeply( [ sort $tickets->Valid ], + [ sort qw(new open stalled resolved rejected deleted ordered), + 'on way', 'delayed', 'delivered' ], + "Only gets ticket statuses" ); + + +my $racecars = RT::Lifecycle->Load( Name => '', Type => 'racecar' ); +ok($racecars, "Got a generalized lifecycle for racecars"); +isa_ok( $racecars, "RT::Lifecycle", "Is the generalized subclass" ); +is_deeply( [ sort $racecars->Valid ], + [ sort ('on-your-mark', 'get-set', 'go', 'first', 'second', 'third', 'no-place') ], + "Only gets racecar statuses" ); + +done_testing; diff --git a/rt/t/lifecycles/unresolved-deps.t b/rt/t/lifecycles/unresolved-deps.t index 02c1942d7..5da4b8fc5 100644 --- a/rt/t/lifecycles/unresolved-deps.t +++ b/rt/t/lifecycles/unresolved-deps.t @@ -1,8 +1,6 @@ use strict; use warnings; -use Data::Dumper; -use Test::More tests => 15 + 1; # plus one for warnings check BEGIN {require 't/lifecycles/utils.pl'}; my $general = RT::Test->load_or_create_queue( @@ -41,3 +39,5 @@ ok $m->login, 'logged in'; ); } +undef $m; +done_testing; diff --git a/rt/t/lifecycles/utils.pl b/rt/t/lifecycles/utils.pl index 3813df3e9..4dbba238d 100644 --- a/rt/t/lifecycles/utils.pl +++ b/rt/t/lifecycles/utils.pl @@ -63,10 +63,15 @@ Set(\%Lifecycles, 'delayed -> on way' => {label => 'Put On Way', update => 'Respond'}, }, }, + racing => { + type => 'racecar', + active => ['on-your-mark', 'get-set', 'go'], + inactive => ['first', 'second', 'third', 'no-place'], + }, ); END } -use RT::Test config => $config; +use RT::Test config => $config, tests => undef; 1; |