import rt 3.6.4
[freeside.git] / rt / lib / t / regression / 19quicksearch.t
1
2 #!/usr/bin/perl -w
3
4 use strict;
5 use warnings;
6
7 use Test::More qw/no_plan/;
8 use_ok('RT');
9 RT::LoadConfig();
10 RT::Init();
11
12 my $q = RT::Queue->new($RT::SystemUser);
13 my $queue = 'SearchTests-'.$$;
14 $q->Create(Name => $queue);
15 ok ($q->id, "Created the queue");
16
17 my $t1 = RT::Ticket->new($RT::SystemUser);
18 my ( $id, undef, $msg ) = $t1->Create(
19     Queue      => $q->id,
20     Subject    => 'SearchTest1',
21     Requestor => ['search2@example.com'],
22 );
23 ok( $id, $msg );
24
25 use_ok("RT::Search::Googleish");
26 my $tickets = RT::Tickets->new($RT::SystemUser);
27 my $quick = RT::Search::Googleish->new(Argument => "",
28                                  TicketsObj => $tickets);
29 my @tests = (
30     "General new open root"     => "( Owner = 'root' ) AND ( Queue = 'General' ) AND ( Status = 'new' OR Status = 'open' )", 
31     "fulltext:jesse"       => "( Content LIKE 'jesse' )",
32     $queue                 => "( Queue = '$queue' )",
33     "root $queue"          => "( Owner = 'root' ) AND ( Queue = '$queue' )",
34     "notauser $queue"      => "( Queue = '$queue' ) AND ( Subject LIKE 'notauser' )",
35     "notauser $queue root" => "( Owner = 'root' ) AND ( Queue = '$queue' ) AND ( Subject LIKE 'notauser' )");
36
37 while (my ($from, $to) = splice @tests, 0, 2) {
38     is($quick->QueryToSQL($from), $to, "<$from> -> <$to>");
39 }