8 push @INC, "$FindBin::Bin/lib";
12 use CtrlO::DBIC::Cursor::RowCountStatistics;
18 use parent 'DBIx::Class::Storage::Statistics';
25 my ($self, @args) = @_;
26 push @_COMPLETE, \@args;
30 my $schema = TestSchema->connect(
31 'dbi:SQLite:dbname=:memory:',
35 cursor_class => 'CtrlO::DBIC::Cursor::RowCountStatistics',
39 $schema->storage->debugobj(TestStats->new);
40 $schema->storage->debug(1);
42 ok $schema, 'schema created';
43 is $schema->storage->cursor_class,
44 'CtrlO::DBIC::Cursor::RowCountStatistics',
47 my $rs = $schema->resultset('Test');
49 subtest 'simple' => sub {
51 $rs->create({ id => $_ }) for 1..10;
53 my $rows = $rs->search_rs;
54 is ref($rows->cursor), 'CtrlO::DBIC::Cursor::RowCountStatistics',
58 is scalar(@_COMPLETE), 1, 'single complete call';
59 is $_COMPLETE[0][0], 10, 'full count';
63 subtest 'empty' => sub {
66 my $rows = $rs->search_rs;
69 is scalar(@_COMPLETE), 1, 'single complete call';
70 is $_COMPLETE[0][0], 0, 'full count';
73 subtest 'no fetch' => sub {
75 $rs->create({ id => $_ }) for 1..10;
77 my $rows = $rs->search_rs;
79 is scalar(@_COMPLETE), 0, 'no complete calls';