Added as_query() support to ResultSetColumn
[dbsrgits/DBIx-Class.git] / t / resultset / as_query.t
CommitLineData
59af6677 1#!/usr/bin/perl
2
3use strict;
4use warnings FATAL => 'all';
5
6use Test::More;
7use lib qw(t/lib);
8use DBICTest;
9
658fa250 10plan tests => 8;
59af6677 11
12my $schema = DBICTest->init_schema();
13my $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
658fa250 43my $rscol = $art_rs->get_column( 'charfield' );
44
45{
46 my $arr = $rscol->as_query;
47 my ($query, @bind) = @$arr;
48
49 is( $query, "SELECT me.charfield FROM artist me WHERE ( ( ( rank = ? ) AND ( name = ? ) ) )" );
50 is_deeply( \@bind, [ [ rank => 2 ], [ name => 'Billy Joel' ] ] );
51}
52
59af6677 53__END__