5b3861bc3417cb2b4b9f8f175c1bfc7bec529a9b
[dbsrgits/DBIx-Class.git] / t / run / 18self_referencial.tl
1 sub run_tests {
2 my $schema = shift;\r
3 \r
4 # this test will check to see if you can have 2 columns\r
5 # in the same class pointing at the same other class\r
6 #\r
7 # example:\r
8 #\r
9 # +---------+       +--------------+\r
10 # | SelfRef |       | SelfRefAlias |\r
11 # +---------+  1-M  +--------------+\r
12 # | id      |-------| self_ref     | --+\r
13 # | name    |       | alias        | --+\r
14 # +---------+       +--------------+   |\r
15 #    /|\                               |\r
16 #     |                                |\r
17 #     +--------------------------------+\r
18 #\r
19 # see http://use.perl.org/~LTjake/journal/24876 for the\r
20 # issue with CDBI\r
21 \r
22 plan tests => 4;\r
23 \r
24 my $item = $schema->class("SelfRef")->find( 1 );\r
25 is( $item->name, 'First', 'proper start item' );\r
26 \r
27 my @aliases = $item->aliases;\r
28 \r
29 is( scalar @aliases, 1, 'proper number of aliases' );\r
30 \r
31 my $orig  = $aliases[ 0 ]->self_ref;\r
32 my $alias = $aliases[ 0 ]->alias;\r
33 \r
34 is( $orig->name, 'First', 'proper original' );\r
35 is( $alias->name, 'Second', 'proper alias' );\r
36 \r
37 }\r
38 \r
39 1;\r