Bug 13274: Mock new_dbh in t::lib::Mocks
authorJonathan Druart <jonathan.druart@biblibre.com>
Tue, 18 Nov 2014 09:45:02 +0000 (10:45 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Wed, 19 Nov 2014 12:50:32 +0000 (09:50 -0300)
This patch suggests to create a routine to mock C4::Context::_new_dbh.

NOTE: Works the same with and without this secondary patch.
      koha-qa tests fine. Less cutting and pasting in the future.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
t/00-load.t
t/lib/Mocks.pm

index 88830b3..428ef39 100644 (file)
@@ -20,8 +20,8 @@ use Modern::Perl;
 use Test::More;
 use File::Spec;
 use File::Find;
-use Test::MockModule;
-use DBD::Mock;
+
+use t::lib::Mocks;
 
 =head1 DESCRIPTION
 
@@ -29,13 +29,7 @@ use DBD::Mock;
 
 =cut
 
-# Mock the DB connexion and C4::Context
-my $context = new Test::MockModule('C4::Context');
-$context->mock( '_new_dbh', sub {
-        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
-          || die "Cannot create handle: $DBI::errstr\n";
-        return $dbh;
-});
+my $context_module = t::lib::Mocks::mock_dbh;
 
 # Loop through the C4:: modules
 my $lib = File::Spec->rel2abs('C4');
index 3f834d2..55ce9d5 100644 (file)
@@ -2,6 +2,8 @@ package t::lib::Mocks;
 
 use Modern::Perl;
 use C4::Context;
+
+use DBD::Mock;
 use Test::MockModule;
 
 my %configs;
@@ -36,4 +38,14 @@ sub mock_preference {
     });
 }
 
+sub mock_dbh {
+    my $context = new Test::MockModule('C4::Context');
+    $context->mock( '_new_dbh', sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    } );
+    return $context;
+}
+
 1;