DBIx-Class-RDBOHelpers
view release on metacpan or search on metacpan
t/01-rdbohelpers.t view on Meta::CPAN
use_ok('MyDBIC::Schema');
ok( my $cd = MyDBIC::Schema->class('Cd'), "Cd class" );
ok( my $m2m_tracks = $cd->relationship_info('cd_tracks'),
"get m2m info for cd_tracks" );
ok( exists $m2m_tracks->{m2m}, "cd_tracks is a m2m" );
is_deeply(
$m2m_tracks,
{ attrs => {
accessor => "multi",
cascade_copy => 1,
cascade_delete => 1,
is_depends_on => 0,
join_type => "LEFT",
},
class => "MyDBIC::Schema::CdTrackJoin",
cond => { "foreign.cdid" => "self.cdid" },
m2m => {
class => "MyDBIC::Schema::Cd",
class_column => 'cdid',
foreign_class => "MyDBIC::Schema::Track",
foreign_column => 'trackid',
t/01-rdbohelpers.t view on Meta::CPAN
"cd_tracks deep hash structure"
);
ok( my $track = MyDBIC::Schema->class('Track'), "Track class" );
ok( my $m2m_cds = $track->relationship_info('track_cds'), "track_cds" );
ok( exists $m2m_cds->{m2m}, "track_cds is a m2m" );
is_deeply(
$m2m_cds,
{ attrs => {
accessor => "multi",
cascade_copy => 1,
cascade_delete => 1,
is_depends_on => 0,
join_type => "LEFT",
},
class => "MyDBIC::Schema::CdTrackJoin",
cond => { "foreign.trackid" => "self.trackid" },
m2m => {
class => "MyDBIC::Schema::Track",
class_column => 'trackid',
foreign_class => "MyDBIC::Schema::Cd",
foreign_column => 'cdid',
t/01-rdbohelpers.t view on Meta::CPAN
# column_is_boolean
ok( $cd1->column_is_boolean('test_boolean'), "column_is_boolean" );
ok( !$cd1->column_is_boolean('artist'), "column_is_boolean" );
# m2m to itself must be tested in a resultsource object not class
is_deeply(
$cd1->relationship_info('relationships'),
{ attrs => {
accessor => "multi",
cascade_copy => 1,
cascade_delete => 1,
is_depends_on => 0,
join_type => "LEFT",
},
class => "MyDBIC::Schema::CdToItself",
cond => { "foreign.cdid_one" => "self.cdid" },
m2m => {
class => "MyDBIC::Schema::Cd",
class_column => "cdid",
foreign_class => "MyDBIC::Schema::Cd",
foreign_column => "cdid",
( run in 0.451 second using v1.01-cache-2.11-cpan-49f99fa48dc )