X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F02view_def.t;h=30172439338d8aeadaf7a089cf11bd950d1c67e7;hb=c965b761a26805b669f939e4813d67fae094b644;hp=35e0bd7fed7fd6b34f147897bab2ee5412554587;hpb=8f839b1cf886c1b76455358e15ad9760015e95b7;p=dbsrgits%2FDBIx-Class-ResultSource-MultipleTableInheritance.git diff --git a/t/02view_def.t b/t/02view_def.t index 35e0bd7..3017243 100644 --- a/t/02view_def.t +++ b/t/02view_def.t @@ -4,26 +4,51 @@ use lib 't/lib'; use File::Temp; use Test::More qw(no_plan); use Test::Exception; -use Devel::Dwarn; +use LoadTest; BEGIN { - use_ok 'MTITest'; - $ENV{DBIC_TRACE} = 1; + $ENV{DBIC_TRACE} = 0; } -dies_ok { MTITest->source('Foo')->view_definition } -"Can't generate view def without connected schema"; +my ( $dsn, $user, $pass ) + = @ENV{ map {"DBICTEST_PG_${_}"} qw/DSN USER PASS/ }; + +plan skip_all => <<'EOM' unless $dsn && $user; +Set $ENV{DBICTEST_PG_DSN}, _USER and _PASS to run this test +( NOTE: This test drops and creates some tables.') +EOM -#my $schema = MTITest->connect('dbi:SQLite::memory:'); +dies_ok { LoadTest->source('Foo')->view_definition } +"Can't generate view def without connected schema"; -my $schema = MTITest->connect( 'dbi:Pg:dbname=mti', 'postgres', '' ); -diag(DwarnS $schema); +my $schema = LoadTest->connect( $dsn, $user, $pass ); +$schema->storage->ensure_connected; +$schema->storage->dbh->{Warn} = 0; -#diag("MTITest view definition: ", $schema->resultset('Bar')->result_source->view_definition); my $dir = "t/sql"; # tempdir(CLEANUP => 0); -$schema->create_ddl_dir( ['PostgreSQL'], 0.1, $dir ); -$schema->deploy( { add_drop_table => 1, add_drop_view => 1 } ); +lives_ok { $schema->create_ddl_dir( ['PostgreSQL'], 0.1, $dir ) } +"It's OK to create_ddl_dir"; +lives_ok { + $schema->deploy( { add_drop_table => 1, add_drop_view => 1, } ); +} +"It's also OK to deploy the schema"; + +isa_ok( + $schema->source('Bar'), + 'DBIx::Class::ResultSource::View', + "My MTI class also" +); + +my $sqlt_object = $schema->{sqlt}; + +is_deeply( + [ map { $_->name } $sqlt_object->get_views ], + [ qw/ + foo + bar + / + ], + "SQLT view order triumphantly matches our order." +); -#diag DwarnS $schema->source($_)->view_definition for qw(Foo Bar); -#diag DwarnS $schema->source($_) for qw(Foo Bar);