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 )