diff --git a/Supporters/t/Supporters.t b/Supporters/t/Supporters.t index 8a28563..d048fb8 100644 --- a/Supporters/t/Supporters.t +++ b/Supporters/t/Supporters.t @@ -8,9 +8,10 @@ use strict; use warnings; -use Test::More tests => 198; +use Test::More tests => 205; use Test::Exception; use Sub::Override; +use File::Temp qw/tempfile/; use Scalar::Util qw(looks_like_number reftype); use POSIX qw(strftime); @@ -36,6 +37,20 @@ require 't/CreateTestDB.pl'; my $dbh = get_test_dbh(); +# Set up test data for ledger-related tests + +my($fakeLedgerFH, $fakeLedgerFile) = tempfile("fakeledgerXXXXXXXX", UNLINK => 1); + +print $fakeLedgerFH < $olsonId, $drapperId => $drapperId }, "findDonor +=item lastGave + +=cut + +dies_ok { $sp->donorLastGave(undef); } "donorLastGave(): dies with undefined donorId"; +dies_ok { $sp->donorLastGave("str"); } "donorLastGave(): dies with non-numeric donorId"; +dies_ok { $sp->donorLastGave(0); } "donorLastGave(): dies with non-existent id"; + +my $date; + +lives_ok { $date = $sp->donorLastGave($drapperId) } "donorLastGave(): check for known annual donor success..."; + +is($date, '2015-05-04', "donorLastGave(): ...and returned value is correct. "); + +lives_ok { $date = $sp->donorLastGave($drapperId) } "donorLastGave(): check for known monthly donor success..."; + +is($date, '2015-06-30', "donorLastGave(): ...and returned value is correct. "); + =item Internal methods used only by the module itself. =over @@ -789,7 +822,6 @@ $tempDBH->disconnect; $tempDBH = reopen_test_dbh(); =cut $tempDBH->disconnect; - 1; ############################################################################### #