DBIx-Class-Loader
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
t/dbixcl_common_tests.pm view on Meta::CPAN
package dbixcl_common_tests;
use strict;
use Test::More;
use DBIx::Class::Loader;
use DBI;
sub new {
my $class = shift;
my $self;
if( ref($_[0]) eq 'HASH') {
my $args = shift;
$self = { (%$args) };
}
else {
$self = { @_ };
}
# Only MySQL uses this
$self->{innodb} ||= '';
$self->{verbose} = $ENV{TEST_VERBOSE} || 0;
return bless $self => $class;
}
sub skip_tests {
my ($self, $why) = @_;
plan skip_all => $why;
}
sub run_tests {
my $self = shift;
plan tests => 26;
$self->create();
my $namespace = 'DBIXCL_Test_' . $self->{vendor};
my $debug = ($self->{verbose} > 1) ? 1 : 0;
my %loader_opts = (
dsn => $self->{dsn},
user => $self->{user},
password => $self->{password},
namespace => $namespace,
constraint => '^(?:\S+\.)?(?i:loader_test)[0-9]+$',
relationships => 1,
debug => $debug,
);
$loader_opts{schema} = $self->{schema} if $self->{schema};
$loader_opts{dropschema} = $self->{dropschema} if $self->{dropschema};
my $loader = DBIx::Class::Loader->new(%loader_opts);
my $class1 = $loader->find_class("loader_test1");
my $class2 = $loader->find_class("loader_test2");
is( $class1, "${namespace}::LoaderTest1" );
is( $class2, "${namespace}::LoaderTest2" );
my $obj = $class1->find(1);
is( $obj->id, 1 );
is( $obj->dat, "foo" );
is( $class2->count, 4 );
my ($obj2) = $class2->find( dat => 'bbb' );
is( $obj2->id, 2 );
SKIP: {
skip $self->{skip_rels}, 20 if $self->{skip_rels};
my $class3 = $loader->find_class("loader_test3");
my $class4 = $loader->find_class("loader_test4");
my $class5 = $loader->find_class("loader_test5");
my $class6 = $loader->find_class("loader_test6");
my $class7 = $loader->find_class("loader_test7");
my $class8 = $loader->find_class("loader_test8");
my $class9 = $loader->find_class("loader_test9");
is( $class3, "${namespace}::LoaderTest3" );
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.913 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )