X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fversion_handlers%2Fexplict_versions.t;h=caa2d94c7528d5526aa88a7291a4e3b45b47b979;hb=bd8ce46f1010783bbfee92d76bdd5a126d59fc6e;hp=4eb4b6a2c2ebb85df626c4b2c21d299c484f55e3;hpb=58a5e27f74f7bacf7d5695563ff91deb095bff07;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/t/version_handlers/explict_versions.t b/t/version_handlers/explict_versions.t index 4eb4b6a..caa2d94 100644 --- a/t/version_handlers/explict_versions.t +++ b/t/version_handlers/explict_versions.t @@ -1,7 +1,10 @@ #!perl +use strict; +use warnings; + use Test::More; -use Test::Exception; +use Test::Fatal qw(lives_ok dies_ok); use lib 't/lib'; use aliased @@ -73,13 +76,42 @@ my $versions = [map "$_.0", 0..100]; ok( !$vh->next_version_set, 'still no more versions after final pair' ); } +{ + my $vh = ExplicitVersions->new({ + ordered_versions => $versions, + to_version => '1.0', + schema_version => '5.0', + database_version => '5.0', + }); + + ok $vh, 'VersionHandler gets instantiated'; + ok( + eq_array($vh->previous_version_set, [qw( 5.0 4.0 )]), + 'first version pair works' + ); + ok( + eq_array($vh->previous_version_set, [qw( 4.0 3.0 )]), + 'second version pair works' + ); + ok( + eq_array($vh->previous_version_set, [qw( 3.0 2.0 )]), + 'third version pair works' + ); + ok( + eq_array($vh->previous_version_set, [qw( 2.0 1.0 )]), + 'fourth version pair works' + ); + ok( !$vh->previous_version_set, 'no more versions after final pair' ); + ok( !$vh->previous_version_set, 'still no more versions after final pair' ); +} + dies_ok { my $vh = ExplicitVersions->new({ ordered_versions => $versions, schema_version => '2.0', database_version => '1.1', }); - $vh->next_vesion_set + $vh->next_version_set } 'dies if database version not found in ordered_versions'; dies_ok { @@ -89,7 +121,18 @@ dies_ok { schema_version => '1.0', database_version => '1.0', }); -} 'cannot request a version before the current version'; + $vh->next_version_set; +} 'cannot request an upgrade before the current version'; + +dies_ok { + my $vh = ExplicitVersions->new({ + ordered_versions => $versions, + to_version => '2.0', + schema_version => '1.0', + database_version => '1.0', + }); + $vh->previous_version_set; +} 'cannot request a downgrade after the current version'; done_testing; #vim: ts=2 sw=2 expandtab