Added unit tests using a test database for XISBN.
authorZach Sim <joseph.zachariah.sim@gmail.com>
Tue, 18 Jan 2011 02:54:49 +0000 (15:54 +1300)
committerChris Cormack <chrisc@catalyst.net.nz>
Tue, 18 Jan 2011 03:04:15 +0000 (16:04 +1300)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
t/db_dependent/XISBN.t

index 9e08efb..1c2d037 100755 (executable)
@@ -5,10 +5,44 @@
 
 use strict;
 use warnings;
-
-use Test::More tests => 1;
+use Test::Class::Load qw ( . );
+use Test::More tests => 4;
+use MARC::Record;
+use C4::Biblio;
+use C4::XISBN;
+use Data::Dumper;
+use C4::Context;
 
 BEGIN {
-        use_ok('C4::XISBN');
+       use_ok('C4::XISBN');
 }
 
+KohaTest::clear_test_database();
+KohaTest::create_test_database();
+
+my $isbn = '0590353403';
+my $isbn2 = '0747554560';
+
+my $marc_record=MARC::Record->new;
+my $field = MARC::Field->new('020','','','a' => $isbn);
+$marc_record->append_fields($field);
+my($biblionumber,$biblioitemnumber) = AddBiblio($marc_record,'');
+
+my $marc_record=MARC::Record->new;
+my $field = MARC::Field->new('020','','','a' => $isbn2);
+$marc_record->append_fields($field);
+my($biblionumber,$biblioitemnumber) = AddBiblio($marc_record,'');
+
+
+my $trial = C4::XISBN::get_biblionumber_from_isbn($isbn);
+is($trial->[0]->{biblionumber},1,"It gets the correct biblionumber from the only isbn we have added.");
+
+$trial = C4::XISBN::_get_biblio_from_xisbn($isbn);
+is($trial->{biblionumber},1,"Gets biblionumber like the previous test.");
+
+# doesn't work yet;
+my $context = C4::Context->new();
+$context->set_preference('ThingISBN','on');
+diag C4::Context::preference('ThingISBN');
+my $var = C4::XISBN::get_xisbns($isbn);
+is($var->[0]->{biblionumber},2,"Gets correct biblionumber from a book with a similar isbn.");