[Rt-commit] r10750 - rt/branches/3.7-RTIR-RELENG/t/ticket

ruz at bestpractical.com ruz at bestpractical.com
Wed Feb 6 20:42:20 EST 2008


Author: ruz
Date: Wed Feb  6 20:42:14 2008
New Revision: 10750

Modified:
   rt/branches/3.7-RTIR-RELENG/t/ticket/search_by_links.t

Log:
* add complex tests to t/ticket/search_by_links.t

Modified: rt/branches/3.7-RTIR-RELENG/t/ticket/search_by_links.t
==============================================================================
--- rt/branches/3.7-RTIR-RELENG/t/ticket/search_by_links.t	(original)
+++ rt/branches/3.7-RTIR-RELENG/t/ticket/search_by_links.t	Wed Feb  6 20:42:14 2008
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 37;
+use Test::More tests => 80;
 use RT::Test;
 use RT::Ticket;
 
@@ -53,6 +53,7 @@
     }
 }
 
+# simple set with "no links", "parent and child"
 @data = (
     { Subject => '-', },
     { Subject => 'p', },
@@ -88,3 +89,45 @@
 }
 run_tests();
 
+# another set with tests of combinations searches
+ at data = (
+    { Subject => '-', },
+    { Subject => 'p', },
+    { Subject => 'rp',  RefersTo => -1 },
+    { Subject => 'c',   MemberOf => -2 },
+    { Subject => 'rc1', RefersTo => -1 },
+    { Subject => 'rc2', RefersTo => -2 },
+);
+ at tickets = add_tix_from_data();
+my $pid = $tickets[1]->id;
+%test = (
+    'RefersTo IS NOT NULL'  => { '-' => 0, c => 0, p => 0, rp => 1, rc1 => 1, rc2 => 1 },
+    'RefersTo IS     NULL'  => { '-' => 1, c => 1, p => 1, rp => 0, rc1 => 0, rc2 => 0 },
+
+    'RefersTo IS NOT NULL AND MemberOf IS NOT NULL'  => { '-' => 0, c => 0, p => 0, rp => 0, rc1 => 0, rc2 => 0 },
+    'RefersTo IS NOT NULL AND MemberOf IS     NULL'  => { '-' => 0, c => 0, p => 0, rp => 1, rc1 => 1, rc2 => 1 },
+    'RefersTo IS     NULL AND MemberOf IS NOT NULL'  => { '-' => 0, c => 1, p => 0, rp => 0, rc1 => 0, rc2 => 0 },
+    'RefersTo IS     NULL AND MemberOf IS     NULL'  => { '-' => 1, c => 0, p => 1, rp => 0, rc1 => 0, rc2 => 0 },
+
+    'RefersTo IS NOT NULL OR  MemberOf IS NOT NULL'  => { '-' => 0, c => 1, p => 0, rp => 1, rc1 => 1, rc2 => 1 },
+    'RefersTo IS NOT NULL OR  MemberOf IS     NULL'  => { '-' => 1, c => 0, p => 1, rp => 1, rc1 => 1, rc2 => 1 },
+    'RefersTo IS     NULL OR  MemberOf IS NOT NULL'  => { '-' => 1, c => 1, p => 1, rp => 0, rc1 => 0, rc2 => 0 },
+    'RefersTo IS     NULL OR  MemberOf IS     NULL'  => { '-' => 1, c => 1, p => 1, rp => 1, rc1 => 1, rc2 => 1 },
+
+    "RefersTo  = $pid AND MemberOf  = $pid" => { '-' => 0, c => 0, p => 0, rp => 0, rc1 => 0, rc2 => 0 },
+    "RefersTo  = $pid AND MemberOf != $pid" => { '-' => 0, c => 0, p => 0, rp => 1, rc1 => 0, rc2 => 0 },
+    "RefersTo != $pid AND MemberOf  = $pid" => { '-' => 0, c => 1, p => 0, rp => 0, rc1 => 0, rc2 => 0 },
+    "RefersTo != $pid AND MemberOf != $pid" => { '-' => 1, c => 0, p => 1, rp => 0, rc1 => 1, rc2 => 1 },
+
+    "RefersTo  = $pid OR  MemberOf  = $pid" => { '-' => 0, c => 1, p => 0, rp => 1, rc1 => 0, rc2 => 0 },
+    "RefersTo  = $pid OR  MemberOf != $pid" => { '-' => 1, c => 0, p => 1, rp => 1, rc1 => 1, rc2 => 1 },
+    "RefersTo != $pid OR  MemberOf  = $pid" => { '-' => 1, c => 1, p => 1, rp => 0, rc1 => 1, rc2 => 1 },
+    "RefersTo != $pid OR  MemberOf != $pid" => { '-' => 1, c => 1, p => 1, rp => 1, rc1 => 1, rc2 => 1 },
+);
+{
+    my $tix = RT::Tickets->new($RT::SystemUser);
+    $tix->FromSQL("Queue = '". $q->id ."'");
+    is($tix->Count, $total, "found $total tickets");
+}
+run_tests();
+


More information about the Rt-commit mailing list