Bug 11439: UT: Improve XISBN.t
authorJonathan Druart <jonathan.druart@biblibre.com>
Tue, 24 Dec 2013 09:11:32 +0000 (10:11 +0100)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 27 Dec 2013 00:16:22 +0000 (00:16 +0000)
The tests should be executed into a transaction and the SimpleSearch
routine correctly mocked.

Test plan:
Verify that prove t/db_dependent/XISBN.t returns green.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
t/db_dependent/XISBN.t

index 01bcc0f..55f25a1 100755 (executable)
@@ -5,21 +5,24 @@
 
 use Modern::Perl;
 
-# use Test::Class::Load qw ( t/db_dependent/ );
 use Test::More tests => 5;
 use MARC::Record;
 use C4::Biblio;
 use C4::XISBN;
-use Data::Dumper;
 use C4::Context;
+use Test::MockModule;
 
 BEGIN {
     use_ok('C4::XISBN');
 }
 
-# Avoid "redefined subroutine" warnings
-local $SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /redefined/ };
-*C4::Search::SimpleSearch = \&Mock_SimpleSearch;
+my $dbh = C4::Context->dbh;
+$dbh->{RaiseError} = 1;
+$dbh->{AutoCommit} = 0;
+
+my $search_module = new Test::MockModule('C4::Search');
+
+$search_module->mock('SimpleSearch', \&Mock_SimpleSearch );
 
 my $context = C4::Context->new;
 
@@ -62,11 +65,6 @@ is( $results_xisbn->[0]->{biblionumber},
     $biblionumber3,
     "Gets correct biblionumber from a book with a similar isbn using XISBN." );
 
-# clean up after ourselves
-DelBiblio($biblionumber1);
-DelBiblio($biblionumber2);
-DelBiblio($biblionumber3);
-
 # Util subs
 
 # Add new biblio with isbn and return biblionumber