Bug 8435: (follow-up) the unit tests should create the biblio
[koha.git] / t / Letters.t
old mode 100644 (file)
new mode 100755 (executable)
index 1a669ea..7cbf6c8
@@ -1,5 +1,44 @@
-BEGIN { $| = 1; print "1..1\n"; }
-END {print "not ok 1\n" unless $loaded;}
-use C4::Letters;
-$loaded = 1;
-print "ok 1\n";
+#!/usr/bin/perl
+#
+# This Koha test module is a stub!
+# Add more tests here!!!
+
+use Modern::Perl;
+use DBI;
+use Test::MockModule;
+use Test::More tests => 4;
+use t::lib::Mocks;
+my $module = new Test::MockModule('C4::Context');
+$module->mock(
+    '_new_dbh',
+    sub {
+        my $dbh = DBI->connect( 'DBI:Mock:', '', '' )
+          || die "Cannot create handle: $DBI::errstr\n";
+        return $dbh;
+    }
+);
+my $mock_letters = [
+    [ 'module', 'code', 'branchcode', 'name', 'is_html', 'title', 'content' ],
+    [ 'blah',   'ISBN', 'NBSI',       'book', 1,         'green', 'blahblah' ],
+    [ 'bleh',   'ISSN', 'NSSI',       'page', 0,         'blue',  'blehbleh' ]
+];
+
+use_ok('C4::Letters');
+
+my $dbh = C4::Context->dbh();
+
+$dbh->{mock_add_resultset} = $mock_letters;
+
+my $letters = C4::Letters::GetLetters();
+
+is( $letters->{ISBN}, 'book', 'HASH ref of ISBN is book' );
+
+# Regression test for bug 10843
+# $dt->add takes a scalar, not undef
+my $letter;
+t::lib::Mocks::mock_preference('ReservesMaxPickUpDelay', undef);
+$letter = C4::Letters::_parseletter( undef, 'reserves', {waitingdate => "2013-01-01"} );
+is( ref($letter), 'HASH');
+t::lib::Mocks::mock_preference('ReservesMaxPickUpDelay', 1);
+$letter = C4::Letters::_parseletter( undef, 'reserves', {waitingdate => "2013-01-01"} );
+is( ref($letter), 'HASH');