tests for component (and therefor bugfixes!)
Arthur Axel 'fREW' Schmidt [Sat, 20 Mar 2010 22:09:44 +0000 (17:09 -0500)]
lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard/Component.pm
t/version_storages/standard.t

index ecf2e24..a226dd8 100644 (file)
@@ -23,11 +23,11 @@ sub connection  {
   unless ( $args->{ignore_version} || $ENV{DBIC_NO_VERSION_CHECK}) {
         my $versions = $self->resultset('__VERSION');
 
-        if (!$versions->is_installed) {
+        if (!$versions->version_storage_is_installed) {
                 carp "Your DB is currently unversioned. Please call upgrade on your schema to sync the DB.\n";
-        } elsif ($versions->db_version ne $self->schema_version) {
+        } elsif ($versions->database_version ne $self->schema_version) {
                carp 'Versions out of sync. This is ' . $self->schema_version .
-                 ', your database contains version ' . $versions->db_version . ", please call upgrade on your Schema.\n";
+                 ', your database contains version ' . $versions->database_version . ", please call upgrade on your Schema.\n";
         }
   }
 
index d8b50ee..aa357ce 100644 (file)
@@ -16,6 +16,13 @@ my @connection = ($db, '', '', { ignore_version => 1 });
 my $sql_dir = 't/sql';
 
 my $s = DBICVersion::Schema->connect(@connection);
+{
+       my $warning;
+       local $SIG{__WARN__} = sub {$warning = shift};
+       my $t = DBICVersion::Schema->connect('frewfrew', '', '');
+       like( $warning, qr/Your DB is currently unversioned. Please call upgrade on your schema to sync the DB/, 'warning when database is unversioned');
+}
+
 DBICDHTest::ready;
 
 my $handler = DBIx::Class::DeploymentHandler->new({
@@ -76,6 +83,14 @@ cmp_deeply(
        'adding another version works correctly'
 );
 
+{
+       my $warning;
+       local $SIG{__WARN__} = sub {$warning = shift};
+       my $u = DBICVersion::Schema->connect($db, '', '');
+       like( $warning, qr/Versions out of sync. This is 1.0, your database contains version 2.0, please call upgrade on your Schema./, 'warning when database/schema mismatch');
+}
+
+
 $vs->version_rs->delete;
 
 ok( $vs->version_storage_is_installed, 'VersionStorage is still installed even if all versions are deleted' );