7 eval "use DBD::SQLite ();";
8 plan skip_all => 'DBD::SQLite required to run this test' if $@;
10 eval "use SQL::Translator ();";
11 plan skip_all => 'SQL::Translator required to run this test' if $@;
20 my $schema = TestSchema->connect( "dbi:SQLite:dbname=:memory:", undef, undef );
23 my @users = qw/root toor daemon operator bin tty/;
24 my @roles = qw/admin superuser user/;
26 @users = $schema->populate( 'User' => [ ['login'] => ( map { [$_] } @users ) ] );
27 @roles = $schema->populate( 'Role' => [ ['name'] => ( map { [$_] } @roles ) ] );
31 foreach my $user (@users) {
33 foreach my $role (@roles) {
35 push @user_roles, [ $user->id, $role->id ];
39 $u = 1 if $u > scalar @roles;
42 @user_roles = $schema->populate( 'UserRole' => [ [qw/user_id role_id/] => @user_roles ] );
45 my $rs = $schema->resultset('User')->search(
48 prefetch => { user_role => [qw/role/] },
49 order_by => 'me.id ASC'
107 'name' => 'superuser'
124 'login' => 'operator',
151 'name' => 'superuser'
173 'name' => 'superuser'
194 my @rs = $schema->resultset('User')->search( {}, { order_by => 'me.id ASC' } )->hashref_array;
212 'login' => 'operator'
227 my $rs = $schema->resultset('User')->search(
230 prefetch => { user_role => [qw/role/] },
231 order_by => 'me.id DESC'
251 'name' => 'superuser'
271 my $expected_users = [
286 'login' => 'operator'
297 my $rs = $schema->resultset('User')->search( {}, { order_by => 'me.id ASC' } )->hashref_rs;
298 while ( my $row = $rs->next ) {
299 my $user = shift(@$expected_users);
300 is_deeply( $row, $user, "hashref_rs in while loop, user: " . $user->{login} );
305 my $first_row = $schema->resultset('User')->search( { login => 'root' } )->hashref_first;
317 my $hashref = $schema->resultset('User')->search( {}, { order_by => 'me.id ASC' } )->hashref_pk;
335 'login' => 'operator'