DBIx-Class-DeploymentHandler

 view release on metacpan or  search on metacpan

t/deploy_methods/script-helpers.t  view on Meta::CPAN

#!perl

use strict;
use warnings;

use Test::More;
use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::ScriptHelpers ':all';;
use Test::Fatal;

use lib 't/lib';

use SH dbh => { -as => 'alternate_dbh'};
use DBICVersion_v1;
use DBICDHTest;

my $dbh = DBICDHTest->dbh;
my @connection = (sub { $dbh }, { ignore_version => 1 });
my $schema = DBICVersion::Schema->connect(@connection);
$schema->deploy;

subtest 'custom script helpers' => sub {
   my $ran;

   ok !$SH::DBH_RAN_OUTTER, 'alternate_dbh has ...';
   ok !$SH::DBH_RAN_INNER,  '... not run yet';

   alternate_dbh(sub {
      my ($dbh, $versions) = @_;

      $ran = 1;

      is($dbh, $schema->storage->dbh, 'dbh is correctly reused');
      is_deeply $versions, [1,2], 'version correctly passed';
      isa_ok($dbh, 'DBI::db');
   })->($schema, [1,2]);

   ok $ran, 'coderef ran';
   ok $SH::DBH_RAN_OUTTER, 'alternate_dbh has ...';
   ok $SH::DBH_RAN_INNER,  '... run correctly';
};

subtest dbh => sub {
   my $ran;
   dbh(sub {
      my ($dbh, $versions) = @_;

      $ran = 1;

      is($dbh, $schema->storage->dbh, 'dbh is correctly reused');
      is_deeply $versions, [1,2], 'version correctly passed';
      isa_ok($dbh, 'DBI::db');
   })->($schema, [1,2]);

   ok $ran, 'coderef ran';
};

subtest schema_from_schema_loader => sub {
   use Test::Requires;
   test_requires('DBIx::Class::Schema::Loader');
   my $build_sl_test = sub {
      my @connection = @_;

      return sub {
         my $ran;
         my $outer_schema = DBICVersion::Schema->connect(@connection);
         $outer_schema->deploy;
         schema_from_schema_loader({ naming => 'v4' }, sub {
            my ($schema, $versions) = @_;



( run in 1.159 second using v1.01-cache-2.11-cpan-54e63673c56 )