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;
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";
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;