starting to work...
[freeside.git] / rt / t / ticket / sort-by-user.t
index f9b1602..10d43de 100644 (file)
@@ -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 = ();