From 561b474bc98e6c60d808ccdcb68a96c9c817dc48 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 10 Nov 2014 23:59:36 -0300 Subject: [PATCH] Bug 13230: t/Biblio.t should run without a DB This patch makes t/Biblio.t mock the DB connexion setting a void one. All tests in this file currently call the C4::Biblio functions with invalid (absent) parameters, so they are expected to raise warnings and return undef values. If someone writes mocked tests for the rest of the functionality, it is expected to mock the DB calls to match the desired scenario. To test: - Turn of MySQL - Run $ prove t/Biblio.t => FAIL: Tests fail because of missing MySQL server - Apply the patch - Run $ prove t/Biblio.t => SUCCESS: Tests now pass - Start MySQL - Run $ prove t/Biblio.t => SUCCESS: Tests still pass - Sign off Regards Tomas Sponsored-by: The will to procrastinate Signed-off-by: Robin Sheat Sponsored-by: Wanting the darn packages to build Signed-off-by: Mark Tompsett Signed-off-by: Katrin Fischer Sponsored-by: Not wanting to read in my maths book Signed-off-by: Tomas Cohen Arazi --- t/Biblio.t | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/t/Biblio.t b/t/Biblio.t index 67f752d4c5..cec30a9a73 100755 --- a/t/Biblio.t +++ b/t/Biblio.t @@ -18,12 +18,24 @@ use Modern::Perl; use Test::More tests => 44; +use Test::MockModule; use Test::Warn; +use DBD::Mock; BEGIN { use_ok('C4::Biblio'); } +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 @arr; my $ret; -- 2.20.1