import rt 3.6.4
[freeside.git] / rt / lib / t / regression / 01ticket_link_searching.t
index 6d10221..a402c73 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-use Test::More tests => 25;
+use Test::More tests => 30;
 use strict;
 use RT;
 
@@ -17,54 +17,46 @@ my $queue = new RT::Queue($CurrentUser);
 $queue->Load('General') || Abort(loc("Queue could not be loaded."));
 
 my $child_ticket = new RT::Ticket( $CurrentUser );
-
-my ( $childid ) = $child_ticket->Create
-    ( Subject => 'test child',
-      Queue => $queue->Id);
-
-ok($childid != 0);
+my ($childid) = $child_ticket->Create(
+    Subject => 'test child',
+    Queue => $queue->Id,
+);
+ok($childid, "We created a child ticket");
 
 my $parent_ticket = new RT::Ticket( $CurrentUser );
+my ($parentid) = $parent_ticket->Create(
+    Subject => 'test parent',
+    Children => [ $childid ],
+    Queue => $queue->Id,
+);
+ok($parentid, "We created a parent ticket");
 
-my ( $parentid ) = $parent_ticket->Create
-    ( Subject => 'test parent',
-      Children => [$childid],
-      Queue => $queue->Id);
-
-ok($parentid != 0, "We created a parent ticket");
 
 my $Collection = RT::Tickets->new($CurrentUser);
-$Collection->LimitMemberOf ($parentid);
-
-ok ($Collection->First);
-is ($Collection->First->id, $childid, "We found the collection of all children of $parentid with Limit");
+$Collection->LimitMemberOf( $parentid );
 is($Collection->Count,1, "We found only one result");
+ok($Collection->First);
+is($Collection->First->id, $childid, "We found the collection of all children of $parentid with Limit");
 
 $Collection = RT::Tickets->new($CurrentUser);
-$Collection->FromSQL( "MemberOf =  $parentid");
-is ($Collection->First->id, $childid, "We found the collection of all children of $parentid with TicketSQL");
-is($Collection->Count,1, "We found only one result");
-
-
-
+$Collection->FromSQL("MemberOf = $parentid");
+is($Collection->Count, 1, "We found only one result");
+ok($Collection->First);
+is($Collection->First->id, $childid, "We found the collection of all children of $parentid with TicketSQL");
 
 
 $Collection = RT::Tickets->new($CurrentUser);
 $Collection->LimitHasMember ($childid);
-
-ok ($Collection->First);
-is ($Collection->First->id, $parentid, "We found the collection of all parents of $childid with Limit");
 is($Collection->Count,1, "We found only one result");
-
+ok($Collection->First);
+is($Collection->First->id, $parentid, "We found the collection of all parents of $childid with Limit");
 
 
 $Collection = RT::Tickets->new($CurrentUser);
 $Collection->FromSQL("HasMember = $childid");
-
-ok ($Collection->First);
-is ($Collection->First->id, $parentid, "We found the collection of all parents of $childid with TicketSQL");
 is($Collection->Count,1, "We found only one result");
-
+ok($Collection->First);
+is($Collection->First->id, $parentid, "We found the collection of all parents of $childid with TicketSQL");
 
 
 # Now we find a collection of all the tickets which have no members. they should have no children.
@@ -75,12 +67,10 @@ my %has;
 while (my $t = $Collection->Next) {
     ++$has{$t->id};
 }
-ok ($has{$childid} , "The collection has our child - $childid");
+ok( $has{$childid}, "The collection has our child - $childid");
 ok( !$has{$parentid}, "The collection doesn't have our parent - $parentid");
 
 
-
-
 # Now we find a collection of all the tickets which are not members of anything. they should have no parents.
 $Collection = RT::Tickets->new($CurrentUser);
 $Collection->LimitMemberOf('');
@@ -102,28 +92,27 @@ ok( !$has{$childid}, "The collection doesn't have our child - $childid");
 $Collection = RT::Tickets->new($CurrentUser);
 $Collection->FromSQL ("HasMember IS NULL");
 # must contain parent; must not contain child
- %has = ();
+%has = ();
 while (my $t = $Collection->Next) {
     ++$has{$t->id};
 }
-ok (!$has{$parentid} , "The collection doesn't have our parent - $parentid");
+ok( !$has{$parentid}, "The collection doesn't have our parent - $parentid");
 ok( $has{$childid}, "The collection has our child - $childid");
 
 
 # Now we find a collection of all the tickets which have no members. they should have no children.
 # Alternate syntax
 $Collection = RT::Tickets->new($CurrentUser);
-$Collection->FromSQL ("HasMember = ''");
+$Collection->FromSQL("HasMember = ''");
 # must contain parent; must not contain child
- %has = ();
+%has = ();
 while (my $t = $Collection->Next) {
     ++$has{$t->id};
 }
-ok (!$has{$parentid} , "The collection doesn't have our parent - $parentid");
+ok( !$has{$parentid}, "The collection doesn't have our parent - $parentid");
 ok( $has{$childid}, "The collection has our child - $childid");
 
 
-
 # Now we find a collection of all the tickets which are not members of anything. they should have no parents.
 $Collection = RT::Tickets->new($CurrentUser);
 $Collection->FromSQL("MemberOf IS NULL");
@@ -132,8 +121,8 @@ $Collection->FromSQL("MemberOf IS NULL");
 while (my $t = $Collection->Next) {
     ++$has{$t->id};
 }
-ok ($has{$parentid} , "The collection has our parent - $parentid");
-ok(!$has{$childid}, "The collection doesn't have our child - $childid");
+ok( $has{$parentid}, "The collection has our parent - $parentid");
+ok( !$has{$childid}, "The collection doesn't have our child - $childid");
 
 
 # Now we find a collection of all the tickets which are not members of anything. they should have no parents.
@@ -144,12 +133,27 @@ $Collection->FromSQL("MemberOf = ''");
 while (my $t = $Collection->Next) {
     ++$has{$t->id};
 }
-ok ($has{$parentid} , "The collection has our parent - $parentid");
-ok(!$has{$childid}, "The collection doesn't have our child - $childid");
+ok( $has{$parentid}, "The collection has our parent - $parentid");
+ok( !$has{$childid}, "The collection doesn't have our child - $childid");
 
 
+# Now we find a collection of all the tickets which are not members of the parent ticket
+$Collection = RT::Tickets->new($CurrentUser);
+$Collection->FromSQL("MemberOf != $parentid");
+%has = ();
+while (my $t = $Collection->Next) {
+    ++$has{$t->id};
+}
+ok( $has{$parentid}, "The collection has our parent - $parentid");
+ok( !$has{$childid}, "The collection doesn't have our child - $childid");
 
+$Collection = RT::Tickets->new($CurrentUser);
+$Collection->LimitMemberOf($parentid, OPERATOR => '!=');
+%has = ();
+while (my $t = $Collection->Next) {
+    ++$has{$t->id};
+}
+ok( $has{$parentid}, "The collection has our parent - $parentid");
+ok( !$has{$childid}, "The collection doesn't have our child - $childid");
 
 1;
-
-