Add POD for custom_column_info, remove ( empty ) hashref support from custom_column_info
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 14ora_common.t
index f68a7e3..be5f692 100644 (file)
@@ -8,8 +8,18 @@ my $dsn      = $ENV{DBICTEST_ORA_DSN} || '';
 my $user     = $ENV{DBICTEST_ORA_USER} || '';
 my $password = $ENV{DBICTEST_ORA_PASS} || '';
 
+sub _custom_column_info {
+    my $info = shift;
+
+    if ( $info->{TYPE_NAME} eq 'DATE' ){
+        return { timezone => "Europe/Berlin" };
+    }
+    return;
+}
+
 my $tester = dbixcsl_common_tests->new(
     vendor      => 'Oracle',
+    custom_column_info => \&_custom_column_info,
     auto_inc_pk => 'INTEGER NOT NULL PRIMARY KEY',
     auto_inc_cb => sub {
         my ($table, $col) = @_;
@@ -32,51 +42,33 @@ my $tester = dbixcsl_common_tests->new(
     dsn         => $dsn,
     user        => $user,
     password    => $password,
-    extra       => {
-        create => [
-            q{
-                CREATE TABLE oracle_loader_test1 (
-                    id INTEGER PRIMARY KEY,
-                    a_varchar VARCHAR2(100) DEFAULT 'foo',
-                    an_int INTEGER DEFAULT 42,
-                    a_double DOUBLE PRECISION DEFAULT 10.555,
-                    a_date DATE DEFAULT sysdate
-                )
-            },
-        ],
-        drop   => [ qw/ oracle_loader_test1 / ],
-        count  => 5,
-        run    => sub {
-            my ($schema, $monikers, $classes) = @_;
-
-            my $rsrc = $schema->resultset($monikers->{oracle_loader_test1})
-                ->result_source;
-
-            is $rsrc->column_info('a_varchar')->{default_value},
-                'foo',
-                'constant character default';
+    extra => {
+        create => [qq{
+            CREATE TABLE oracle_loader_test1 (
+                id number(5) NOT NULL,
+                name varchar2(100) NOT NULL,
+                create_date date NOT NULL,
+                modification_date date,
+                PRIMARY KEY (id)
+            )
+        },],
+        drop  => [qw/ oracle_loader_test1 /],
+        count => 2,
+        run   => sub {
+            my ( $schema, $monikers, $classes ) = @_;
+            my $rs = $schema->resultset( $monikers->{oracle_loader_test1} );
 
-            is $rsrc->column_info('an_int')->{default_value},
-                42,
-                'constant integer default';
+            is $rs->result_source->column_info('create_date')->{timezone},
+                'Europe/Berlin',
+                'create_date hast timezone';
 
-            is $rsrc->column_info('a_double')->{default_value},
-                10.555,
-                'constant numeric default';
+            is $rs->result_source->column_info('modification_date')->{timezone},
+                'Europe/Berlin',
+                'modification_date hast timezone';
 
-            my $function_default =
-                $rsrc->column_info('a_date')->{default_value};
-
-            ok ((ref $function_default eq 'SCALAR'),
-                'default_value for function default is a scalar ref')
-            or diag "default_value is: ", $function_default
-            ;
-
-            eval { is $$function_default,
-                'sysdate',
-                'default_value for function default is correct' };
         },
-    },
+      }
+
 );
 
 if( !$dsn || !$user ) {