Commit | Line | Data |
218aa968 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
5 | use Test::Exception; |
6 | use lib qw(t/lib); |
7 | use DBICTest; |
8 | |
9 | my $schema = DBICTest->init_schema(); |
10 | |
11 | plan tests => 7; |
12 | |
13 | my $rs = $schema->resultset('CD')->search({}, |
14 | { |
15 | '+select' => \ 'COUNT(*)', |
16 | '+as' => 'count' |
17 | } |
18 | ); |
19 | lives_ok(sub { $rs->first->get_column('count') }, 'additional count rscolumn present'); |
20 | dies_ok(sub { $rs->first->get_column('nonexistent_column') }, 'nonexistant column requests still throw exceptions'); |
21 | |
22 | $rs = $schema->resultset('CD')->search({}, |
23 | { |
24 | '+select' => [ \ 'COUNT(*)', 'title' ], |
25 | '+as' => [ 'count', 'addedtitle' ] |
26 | } |
27 | ); |
28 | lives_ok(sub { $rs->first->get_column('count') }, 'multiple +select/+as columns, 1st rscolumn present'); |
29 | lives_ok(sub { $rs->first->get_column('addedtitle') }, 'multiple +select/+as columns, 2nd rscolumn present'); |
30 | |
31 | $rs = $schema->resultset('CD')->search({}, |
32 | { |
33 | '+select' => [ \ 'COUNT(*)', 'title' ], |
34 | '+as' => [ 'count', 'addedtitle' ] |
35 | } |
36 | )->search({}, |
37 | { |
38 | '+select' => 'title', |
39 | '+as' => 'addedtitle2' |
40 | } |
41 | ); |
42 | lives_ok(sub { $rs->first->get_column('count') }, '+select/+as chained search 1st rscolumn present'); |
43 | lives_ok(sub { $rs->first->get_column('addedtitle') }, '+select/+as chained search 1st rscolumn present'); |
44 | lives_ok(sub { $rs->first->get_column('addedtitle2') }, '+select/+as chained search 3rd rscolumn present'); |