X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F67pager.t;h=b017afbddb2a321fcda9a245efec84d358ef0099;hb=d8799bab98fa442f681074ece8008a3eefea357c;hp=85b1e8d3fccab6c507abfeb0a6cdfb1eeda60dce;hpb=d6915f449e2d68ac184d6bc616043fd605913757;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/67pager.t b/t/67pager.t index 85b1e8d..b017afb 100644 --- a/t/67pager.t +++ b/t/67pager.t @@ -1,13 +1,11 @@ use strict; -use warnings; +use warnings; use Test::More; use lib qw(t/lib); use DBICTest; -my $schema = DBICTest::init_schema(); - -plan tests => 12; +my $schema = DBICTest->init_schema(); # first page my $it = $schema->resultset("CD")->search( @@ -23,6 +21,8 @@ is( $it->pager->next_page, 2, "next_page ok" ); is( $it->count, 3, "count on paged rs ok" ); +is( $it->pager->total_entries, 5, "total_entries ok" ); + is( $it->next->title, "Caterwaulin' Blues", "iterator->next ok" ); $it->next; @@ -68,3 +68,37 @@ is( $it->count, 2, "software count on paged rs ok" ); is( $it->next->title, "Generic Manufactured Singles", "software iterator->next ok" ); +# test paging with chained searches +$it = $schema->resultset("CD")->search( + {}, + { rows => 2, + page => 2 } +)->search( undef, { order_by => 'title' } ); + +is( $it->count, 2, "chained searches paging ok" ); + +my $p = sub { $schema->resultset("CD")->page(1)->pager->entries_per_page; }; + +is($p->(), 10, 'default rows is 10'); + +$schema->default_resultset_attributes({ rows => 5 }); + +is($p->(), 5, 'default rows is 5'); + +# test page with offset +$it = $schema->resultset('CD')->search({}, { + rows => 2, + page => 2, + offset => 1, + order_by => 'cdid' +}); + +my $row = $schema->resultset('CD')->search({}, { + order_by => 'cdid', + offset => 3, + rows => 1 +})->single; + +is($row->cdid, $it->first->cdid, 'page with offset'); + +done_testing;