diff options
Diffstat (limited to 'rt/t/ticket/sort-by-user.t')
-rw-r--r-- | rt/t/ticket/sort-by-user.t | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/rt/t/ticket/sort-by-user.t b/rt/t/ticket/sort-by-user.t index f9b1602f1..10d43de37 100644 --- a/rt/t/ticket/sort-by-user.t +++ b/rt/t/ticket/sort-by-user.t @@ -1,6 +1,6 @@ #!/usr/bin/perl -use RT::Test tests => 32; +use RT::Test nodata => 1, tests => 52; use strict; use warnings; @@ -14,11 +14,11 @@ use RT::CustomField; # we sort by user name ######################################################### -diag "Create a queue to test with." if $ENV{TEST_VERBOSE}; +diag "Create a queue to test with."; my $queue_name = "OwnerSortQueue$$"; my $queue; { - $queue = RT::Queue->new( $RT::SystemUser ); + $queue = RT::Queue->new( RT->SystemUser ); my ($ret, $msg) = $queue->Create( Name => $queue_name, Description => 'queue for custom field sort testing' @@ -31,7 +31,7 @@ my @users; # create them in reverse order to avoid false positives foreach my $u (qw(Z A)) { my $name = $u ."-user-to-test-ordering-$$"; - my $user = RT::User->new( $RT::SystemUser ); + my $user = RT::User->new( RT->SystemUser ); my ($uid) = $user->Create( Name => $name, Privileged => 1, @@ -47,32 +47,8 @@ foreach my $u (qw(Z A)) { push @uids, $user->id; } -my ($total, @data, @tickets, @test) = (0, ()); +my (@data, @tickets, @test) = (0, ()); -sub add_tix_from_data { - my @res = (); - @data = sort { rand(100) <=> rand(100) } @data; - while (@data) { - my $t = RT::Ticket->new($RT::SystemUser); - my %args = %{ shift(@data) }; - - my ( $id, undef, $msg ) = $t->Create( %args, Queue => $queue->id ); - if ( $args{'Owner'} ) { - is $t->Owner, $args{'Owner'}, "owner is correct"; - } - if ( $args{'Creator'} ) { - is $t->Creator, $args{'Creator'}, "creator is correct"; - } - # hackish, but simpler - if ( $args{'LastUpdatedBy'} ) { - $t->__Set( Field => 'LastUpdatedBy', Value => $args{'LastUpdatedBy'} ); - } - ok( $id, "ticket created" ) or diag("error: $msg"); - push @res, $t; - $total++; - } - return @res; -} sub run_tests { my $query_prefix = join ' OR ', map 'id = '. $_->id, @tickets; @@ -82,7 +58,7 @@ sub run_tests { foreach my $order (qw(ASC DESC)) { my $error = 0; - my $tix = RT::Tickets->new( $RT::SystemUser ); + my $tix = RT::Tickets->new( RT->SystemUser ); $tix->FromSQL( $query ); $tix->OrderBy( FIELD => $test->{'Order'}, ORDER => $order ); @@ -122,7 +98,9 @@ sub run_tests { { Subject => 'Z', Owner => $uids[0] }, { Subject => 'A', Owner => $uids[1] }, ); -@tickets = add_tix_from_data(); + +@tickets = RT::Test->create_tickets( { Queue => $queue->id }, @data ); + @test = ( { Order => "Owner" }, ); @@ -133,7 +111,7 @@ run_tests(); { Subject => 'Z', Creator => $uids[0] }, { Subject => 'A', Creator => $uids[1] }, ); -@tickets = add_tix_from_data(); +@tickets = RT::Test->create_tickets( { Queue => $queue->id }, @data ); @test = ( { Order => "Creator" }, ); @@ -144,9 +122,10 @@ run_tests(); { Subject => 'Z', LastUpdatedBy => $uids[0] }, { Subject => 'A', LastUpdatedBy => $uids[1] }, ); -@tickets = add_tix_from_data(); +@tickets = RT::Test->create_tickets( { Queue => $queue->id }, @data ); @test = ( { Order => "LastUpdatedBy" }, ); run_tests(); +@tickets = (); |