Bug 21832: add unit test
[koha.git] / t / Biblio.t
index 67f752d..0d140be 100755 (executable)
 
 use Modern::Perl;
 
-use Test::More tests => 44;
+use Test::More;
+use Test::MockModule;
 use Test::Warn;
 
-BEGIN {
-        use_ok('C4::Biblio');
-}
+plan tests => 47;
+
+use_ok('C4::Biblio');
+
+my $db = Test::MockModule->new('Koha::Database');
+$db->mock( _new_schema => sub { return Schema(); } );
 
 my @arr;
 my $ret;
@@ -133,7 +137,7 @@ ok( !defined $ret, 'GetMarcHosts returns undef if not passed rec');
 
 my $hash_ref;
 
-warning_is { $hash_ref = TransformMarcToKoha(undef, undef) }
+warning_is { $hash_ref = TransformMarcToKoha( undef) }
            { carped => 'TransformMarcToKoha called with undefined record'},
            "TransformMarcToKoha returns carped warning on undef record";
 
@@ -155,10 +159,20 @@ warning_is { $ret = RemoveAllNsb() }
 
 ok( !defined $ret, 'RemoveAllNsb returns undef if not passed rec');
 
-warning_is { $ret = UpdateTotalIssues() }
-           { carped => 'UpdateTotalIssues could not get biblio record'},
-           "UpdateTotalIssues returns carped warning if biblio record does not exist";
+warning_is { $ret = GetMarcBiblio() }
+           { carped => 'GetMarcBiblio called without parameters'},
+           "GetMarcBiblio returns carped warning on no parameters";
+
+warning_is { $ret = GetMarcBiblio({ biblionumber => undef }) }
+           { carped => 'GetMarcBiblio called with undefined biblionumber'},
+           "GetMarcBiblio returns carped warning on undef biblionumber";
+
+ok( !defined $ret, 'GetMarcBiblio returns undef if not passed a biblionumber');
+
+warnings_like { $ret = UpdateTotalIssues() }
+              [ { carped => qr/GetMarcBiblio called with undefined biblionumber/ },
+                { carped => qr/UpdateTotalIssues could not get biblio record/ } ],
+    "UpdateTotalIssues returns carped warnings if biblio record does not exist";
 
 ok( !defined $ret, 'UpdateTotalIssues returns carped warning if biblio record does not exist');
 
-1;