File: 01-single-schema.t

package info (click to toggle)
libdbicx-sugar-perl 0.0200-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 172 kB
  • sloc: perl: 120; sh: 6; makefile: 2
file content (37 lines) | stat: -rw-r--r-- 1,000 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use Test::Modern;

use DBICx::Sugar qw(config rset resultset schema);
use Test::Requires qw(DBD::SQLite);

plan tests => 5;

config({
    foo => {
        schema_class => 'Foo',
        dsn          => 'dbi:SQLite:dbname=:memory:',
    }
});

schema->deploy;

ok rset('User')->create({ name => 'bob', age => 2 }), 'created young bob';

subtest 'schema' => sub {
    my $user = schema->resultset('User')->find('bob');
    is $user->age => '2', 'bob is a baby';
    $user = schema('foo')->resultset('User')->find('bob');
    is $user->age => '2', 'found Bob via explicit schema name';
};

subtest 'resultset' => sub {
    my $user = resultset('User')->find('bob');
    is $user->age => '2', 'found bob via resultset';
    $user = rset('User')->find('bob');
    is $user->age => '2', 'found bob via rset';
};

subtest 'invalid schema name' => sub {
    like exception { schema('bar')->resultset('User')->find('bob') },
        qr/schema bar is not configured/,
        'missing schema error thrown';
};