Some testdb changes and alignment, preparing for test refactor branch
[dbsrgits/DBIx-Class.git] / t / 76select.t
CommitLineData
218aa968 1use strict;
2use warnings;
3
4use Test::More;
5use Test::Exception;
6use lib qw(t/lib);
7use DBICTest;
8
9my $schema = DBICTest->init_schema();
10
11plan tests => 7;
12
13my $rs = $schema->resultset('CD')->search({},
14 {
15 '+select' => \ 'COUNT(*)',
16 '+as' => 'count'
17 }
18);
19lives_ok(sub { $rs->first->get_column('count') }, 'additional count rscolumn present');
20dies_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);
28lives_ok(sub { $rs->first->get_column('count') }, 'multiple +select/+as columns, 1st rscolumn present');
29lives_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);
42lives_ok(sub { $rs->first->get_column('count') }, '+select/+as chained search 1st rscolumn present');
43lives_ok(sub { $rs->first->get_column('addedtitle') }, '+select/+as chained search 1st rscolumn present');
44lives_ok(sub { $rs->first->get_column('addedtitle2') }, '+select/+as chained search 3rd rscolumn present');