DBIx-Class-DeploymentHandler

 view release on metacpan or  search on metacpan

t/version_handlers/monotonic.t  view on Meta::CPAN

#!perl

use strict;
use warnings;

use Test::More;
use Test::Fatal qw(lives_ok dies_ok);

use lib 't/lib';
use aliased
  'DBIx::Class::DeploymentHandler::VersionHandler::Monotonic';

SKIP: {
  skip 'no "version" installed', 1 if !eval { require version; 1 };
  lives_ok { Monotonic->new({
    schema_version   => version->declare("2.0"),
    database_version => 1,
  }) } 'version-obj Ok';
}

{
  my $vh = Monotonic->new({
    schema_version   => 2,
    database_version => 1,
  });

  ok $vh, 'VersionHandler gets instantiated';

  ok(
    eq_array($vh->next_version_set, [1,2]),
    'first version pair works'
  );
  ok(
    !$vh->next_version_set,
    'next version set returns undef when we are done'
  );
}

{
  my $vh = Monotonic->new({
    to_version       => 1,
    schema_version   => 1,
    database_version => 1,
  });

  ok $vh, 'VersionHandler gets instantiated';

  ok(
    !$vh->next_version_set,
    'next version set returns undef if we are at the version requested'
  );
}

ONETOFIVE: {
  my $vh = Monotonic->new({
    to_version       => 5,
    schema_version   => 1,
    database_version => 1,
  });

  ok $vh, 'VersionHandler gets instantiated';
  ok(
    eq_array($vh->next_version_set, [1,2]),
    'first version pair works'
  );
  ok(
    eq_array($vh->next_version_set, [2,3]),



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