Bug 20144: [sql_modes] Correct quotes.timestamp values in tests
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 5 Feb 2018 19:20:05 +0000 (16:20 -0300)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 13 Feb 2018 16:58:51 +0000 (13:58 -0300)
Fix for:
Incorrect datetime value: '0000-00-00 00:00:00' for column 'timestamp'

t/db_dependent/Koha/GetDailyQuote.t

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
t/db_dependent/Koha/GetDailyQuote.t

index 08ec0bb..dea55bc 100644 (file)
@@ -40,17 +40,17 @@ $dbh->do("DELETE FROM quotes");
 
 # Ids not starting with 1 to reflect possible deletes, this acts as a regression test for bug 11297
 $dbh->do("INSERT INTO `quotes` VALUES
-(6,'George Washington','To be prepared for war is one of the most effectual means of preserving peace.','0000-00-00 00:00:00'),
-(7,'Thomas Jefferson','When angry, count ten, before you speak; if very angry, an hundred.','0000-00-00 00:00:00'),
-(8,'Abraham Lincoln','Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.','0000-00-00 00:00:00'),
-(9,'Abraham Lincoln','I have always found that mercy bears richer fruits than strict justice.','0000-00-00 00:00:00'),
-(10,'Andrew Johnson','I feel incompetent to perform duties...which have been so unexpectedly thrown upon me.','0000-00-00 00:00:00');");
+(6,'George Washington','To be prepared for war is one of the most effectual means of preserving peace.',NOW()),
+(7,'Thomas Jefferson','When angry, count ten, before you speak; if very angry, an hundred.',NOW()),
+(8,'Abraham Lincoln','Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.',NOW()),
+(9,'Abraham Lincoln','I have always found that mercy bears richer fruits than strict justice.',NOW()),
+(10,'Andrew Johnson','I feel incompetent to perform duties...which have been so unexpectedly thrown upon me.',NOW());");
 
 my $expected_quote = {
     id          => 8,
     source      => 'Abraham Lincoln',
     text        => 'Four score and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.',
-    timestamp   => '0000-00-00 00:00:00',
+    timestamp   => dt_from_string,
 };
 
 my $quote = GetDailyQuote('id'=>8);
@@ -61,8 +61,7 @@ $quote = GetDailyQuote('random'=>1);
 ok($quote, "Got a random quote.");
 cmp_ok($quote->{'id'}, '>', 0, 'Id is greater than 0');
 
-$dbh->do("UPDATE quotes SET timestamp = '0000-00-00 00:00:00';");
-my $timestamp = DateTime::Format::MySQL->format_datetime(dt_from_string());
+my $timestamp = DateTime::Format::MySQL->format_datetime(dt_from_string->add( hours => 1 )); # To make it the last one
 my $query = 'UPDATE quotes SET timestamp = ? WHERE id = ?';
 my $sth = C4::Context->dbh->prepare($query);
 $sth->execute( $timestamp , $expected_quote->{'id'});
@@ -79,7 +78,7 @@ $quote = eval {GetDailyQuote();};
 is( $@, '', 'GetDailyQuote does not die if no quote exist' );
 is_deeply( $quote, {}, 'GetDailyQuote return an empty hashref is no quote exist'); # Is it what we expect?
 $dbh->do(q|INSERT INTO `quotes` VALUES
-    (6,'George Washington','To be prepared for war is one of the most effectual means of preserving peace.','0000-00-00 00:00:00')
+    (6,'George Washington','To be prepared for war is one of the most effectual means of preserving peace.',NOW())
 |);
 
 $quote = GetDailyQuote();