1 |
dpavlin |
930 |
#!/usr/bin/env perl |
2 |
|
|
use warnings; |
3 |
|
|
use strict; |
4 |
|
|
|
5 |
|
|
=head1 DESCRIPTION |
6 |
|
|
|
7 |
|
|
A (very) basic test harness for the Search action. |
8 |
|
|
|
9 |
|
|
=cut |
10 |
|
|
|
11 |
dpavlin |
954 |
use Jifty::Test tests => 17; |
12 |
dpavlin |
930 |
|
13 |
dpavlin |
954 |
use Data::Dump qw/dump/; |
14 |
|
|
|
15 |
dpavlin |
930 |
# Make sure we can load the action |
16 |
|
|
use_ok('Webpacus::Action::Search'); |
17 |
|
|
|
18 |
dpavlin |
952 |
# Grab a system user |
19 |
|
|
my $system_user = Webpacus::CurrentUser->superuser; |
20 |
|
|
ok($system_user, "Found a system user"); |
21 |
|
|
|
22 |
|
|
{ |
23 |
|
|
use Log::Log4perl::Level; |
24 |
|
|
Jifty->web->log->level( $DEBUG ); |
25 |
|
|
} |
26 |
|
|
|
27 |
|
|
my $search = Jifty::Test->web->new_action( |
28 |
|
|
class => 'Search', |
29 |
|
|
moniker => 'search', |
30 |
|
|
current_user => $system_user, |
31 |
|
|
arguments => {} |
32 |
|
|
); |
33 |
|
|
|
34 |
|
|
isa_ok($search, 'Webpacus::Action::Search'); |
35 |
|
|
|
36 |
|
|
my %args = %{$search->arguments}; |
37 |
|
|
|
38 |
|
|
ok($args{$_}, "arguments has $_") foreach ( 'field', 'query' ); |
39 |
|
|
|
40 |
|
|
$search->argument_values({ feild => '', query => 'a' }); |
41 |
|
|
$search->run; |
42 |
|
|
|
43 |
|
|
my $results = $search->result->content('results'); |
44 |
|
|
|
45 |
|
|
isa_ok($results, 'Webpacus::Search::Results'); |
46 |
|
|
cmp_ok($results->count, '>=', 1, 'count'); |
47 |
|
|
|
48 |
|
|
diag "found ", $results->count, " results"; |
49 |
dpavlin |
954 |
|
50 |
|
|
ok( my $result = $results->next, 'next' ); |
51 |
|
|
isa_ok($result, 'CODE' ); |
52 |
|
|
|
53 |
|
|
foreach my $f ( qw/database input id TitleProper/ ) { |
54 |
|
|
|
55 |
|
|
my $s = $result->( $f ); |
56 |
|
|
ok( ! ref($s), 'SCALAR' ); |
57 |
|
|
|
58 |
|
|
my @a = $result->( $f ); |
59 |
|
|
isa_ok( \@a, 'ARRAY' ); |
60 |
|
|
|
61 |
|
|
diag "$f = '$s' ",dump(@a); |
62 |
|
|
} |
63 |
|
|
|