81c04a845c1f57d1506ed45eebad8cf64a856a68
[dbsrgits/DBIx-Class-ResultSource-MultipleTableInheritance.git] / t / 01load.t
1 use strict;
2 use warnings;
3 use lib 't/lib';
4 use Test::More qw(no_plan);
5 use Carp::Always;
6
7 BEGIN { use_ok 'MTITest'; }
8
9 my $raw_foo = MTITest->source('Raw::Foo');
10
11 is_deeply(
12   [ $raw_foo->columns ],
13   [ qw(id a) ],
14   'Columns for raw foo ok: id a'
15 );
16
17 my $raw_bar = MTITest->source('Raw::Bar');
18
19 is_deeply(
20   [ $raw_bar->columns ],
21   [ qw(id b) ],
22   'Columns for raw bar ok: id b'
23 );
24
25 ok($raw_bar->has_relationship('parent'), 'parent rel exists');
26
27 my $parent_info = $raw_bar->relationship_info('parent');
28
29 is(
30   $parent_info->{source}, 'Raw::Foo',
31   'parent rel points to raw parent'
32 );
33
34 my $foo = MTITest->source('Foo');
35 my $bar = MTITest->source('Bar');
36
37 is_deeply(
38   [ $foo->columns ],
39   [ qw(id a) ],
40   'Columns for mti foo are still the same: id a'
41 );
42
43
44 is_deeply(
45   [ $bar->columns ],
46   [ qw(id a words b) ],
47   'Columns for mti bar now contain those of foo and the mixin: id a words b'
48 );