Bug 13889: Add unit tests
authorMark Tompsett <mtompset@hotmail.com>
Mon, 20 Apr 2015 08:32:06 +0000 (04:32 -0400)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Mon, 4 May 2015 14:11:32 +0000 (11:11 -0300)
Previous commit was lacking test coverage of new function.

TEST PLAN
---------
1) Apply all the patches
2) prove -v t/db_dependent/Log.t
   -- should be success.
3) koha qa test tools

Signed-off-by: Marc VĂ©ron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
t/db_dependent/Log.t

index 8a25c18..cbd8937 100644 (file)
@@ -6,10 +6,15 @@
 
 use strict;
 use warnings;
-use Test::More tests => 5;
+use Test::More tests => 7;
 
 # We need C4::Dates to handle the dates
 use C4::Dates;
+use C4::Context;
+use t::lib::Mocks qw/mock_preference/; # to mock CronjobLog
+use Data::Dumper;
+
+$| = 1;
 
 BEGIN {
        use_ok('C4::Log');
@@ -53,3 +58,23 @@ eval {
     $success = 0;
 };
 ok($success, "GetLogs seemed to find ".$success." like our test record in a tighter search");
+
+# Make sure we can rollback.
+my $dbh = C4::Context->dbh;
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
+
+# We want numbers to be the same between runs.
+$dbh->do("DELETE FROM action_logs;");
+
+t::lib::Mocks::mock_preference('CronjobLog',0);
+cronlogaction();
+my $cronJobCount = $dbh->selectrow_array("SELECT COUNT(*) FROM action_logs WHERE module='CRONJOBS';",{});
+is($cronJobCount,0,"Cronjob not logged as expected.");
+
+t::lib::Mocks::mock_preference('CronjobLog',1);
+cronlogaction();
+$cronJobCount = $dbh->selectrow_array("SELECT COUNT(*) FROM action_logs WHERE module='CRONJOBS';",{});
+is($cronJobCount,1,"Cronjob logged as expected.");
+
+$dbh->rollback();