d5baabff10e790e4bb52f4a2b7a760cdb56bdcff
[dbsrgits/DBIx-Class.git] / t / resultset / as_query.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings FATAL => 'all';
5
6 use Test::More;
7 use lib qw(t/lib);
8 use DBICTest;
9
10 plan tests => 6;
11
12 my $schema      = DBICTest->init_schema();
13 my $art_rs      = $schema->resultset('Artist');
14
15 {
16   my $arr = $art_rs->as_query;
17   my ($query, @bind) = @$arr;
18
19   is( $query, "SELECT me.artistid, me.name, me.rank, me.charfield FROM artist me" );
20   is_deeply( \@bind, [] );
21 }
22
23 $art_rs = $art_rs->search({ name => 'Billy Joel' });
24
25 {
26   my $arr = $art_rs->as_query;
27   my ($query, @bind) = @$arr;
28
29   is( $query, "SELECT me.artistid, me.name, me.rank, me.charfield FROM artist me WHERE ( name = ? )" );
30   is_deeply( \@bind, [ [ name => 'Billy Joel' ] ] );
31 }
32
33 $art_rs = $art_rs->search({ rank => 2 });
34
35 {
36   my $arr = $art_rs->as_query;
37   my ($query, @bind) = @$arr;
38
39   is( $query, "SELECT me.artistid, me.name, me.rank, me.charfield FROM artist me WHERE ( ( ( rank = ? ) AND ( name = ? ) ) )" );
40   is_deeply( \@bind, [ [ rank => 2 ], [ name => 'Billy Joel' ] ] );
41 }
42
43 __END__