Bug 17234: Two new functions lack tests
[koha.git] / t / Biblio.t
index 8662c40..1cec33b 100755 (executable)
 
 use Modern::Perl;
 
-use Test::More tests => 42;
+use Test::More;
+use Test::MockModule;
 use Test::Warn;
 
+use Module::Load::Conditional qw/check_install/;
+
 BEGIN {
-        use_ok('C4::Biblio');
+    if ( check_install( module => 'Test::DBIx::Class' ) ) {
+        plan tests => 46;
+    } else {
+        plan skip_all => "Need Test::DBIx::Class"
+    }
+}
+
+use_ok('C4::Biblio');
+
+use Test::DBIx::Class {
+    schema_class => 'Koha::Schema',
+    connect_info => ['dbi:SQLite:dbname=:memory:','',''],
+    connect_opts => { name_sep => '.', quote_char => '`', },
+    fixture_class => '::Populate',
+}, 'Biblio' ;
+
+sub fixtures {
+    my ( $data ) = @_;
+    fixtures_ok [
+        Biblio => [
+            [ qw/ biblionumber datecreated timestamp  / ],
+            @$data,
+        ],
+    ], 'add fixtures';
 }
 
+my $db = Test::MockModule->new('Koha::Database');
+$db->mock( _new_schema => sub { return Schema(); } );
+
 my @arr;
 my $ret;
 
@@ -133,7 +162,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,4 +184,17 @@ warning_is { $ret = RemoveAllNsb() }
 
 ok( !defined $ret, 'RemoveAllNsb returns undef if not passed rec');
 
+warning_is { $ret = GetMarcBiblio() }
+           { 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;