[Koha-patches] [PATCH] Bug 16890: Make TestBuilder generate date for date columns (and not datetime)

Srdjan srdjan at catalyst.net.nz
Tue Jul 12 04:43:51 CEST 2016


From: Jonathan Druart <jonathan.druart at bugs.koha-community.org>

TestBuilder should not generate datetime for date columns, but only for
datetime and timestamp columns.

Test plan:
Make sure the change in t/db_dependent/TestBuilder.t are consistent.
Before this patch, 1 of the 2 tests should fail.
After this patch applied, they both should pass.

Signed-off-by: Srdjan <srdjan at catalyst.net.nz>
---
 t/db_dependent/TestBuilder.t | 13 ++++++++++++-
 t/lib/TestBuilder.pm         |  9 +++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/t/db_dependent/TestBuilder.t b/t/db_dependent/TestBuilder.t
index 569b6b4..3046ad8 100644
--- a/t/db_dependent/TestBuilder.t
+++ b/t/db_dependent/TestBuilder.t
@@ -19,7 +19,7 @@
 
 use Modern::Perl;
 
-use Test::More tests => 9;
+use Test::More tests => 10;
 use Test::Warn;
 use Data::Dumper qw(Dumper);
 
@@ -321,6 +321,17 @@ subtest 'Auto-increment values tests' => sub {
         'Build should not overwrite an auto_incr column';
 };
 
+subtest 'Date handling' => sub {
+    plan tests => 2;
+
+    $builder = t::lib::TestBuilder->new;
+
+    my $patron = $builder->build( { source => 'Borrower' } );
+    is( length( $patron->{updated_on} ),  19, 'A timestamp column value should be YYYY-MM-DD HH:MM:SS' );
+    is( length( $patron->{dateofbirth} ), 10, 'A date column value should be YYYY-MM-DD' );
+
+};
+
 $schema->storage->txn_rollback;
 
 1;
diff --git a/t/lib/TestBuilder.pm b/t/lib/TestBuilder.pm
index ed28458..666cc87 100644
--- a/t/lib/TestBuilder.pm
+++ b/t/lib/TestBuilder.pm
@@ -325,8 +325,8 @@ sub _gen_type {
         decimal          => \&_gen_real,
         double_precision => \&_gen_real,
 
-        timestamp => \&_gen_date,
-        datetime  => \&_gen_date,
+        timestamp => \&_gen_datetime,
+        datetime  => \&_gen_datetime,
         date      => \&_gen_date,
 
         char       => \&_gen_text,
@@ -380,6 +380,11 @@ sub _gen_real {
 
 sub _gen_date {
     my ($self, $params) = @_;
+    return $self->schema->storage->datetime_parser->format_date(DateTime->now())
+}
+
+sub _gen_datetime {
+    my ($self, $params) = @_;
     return $self->schema->storage->datetime_parser->format_datetime(DateTime->now());
 }
 
-- 
2.7.4


More information about the Koha-patches mailing list