Bug 10694: (follow-up) remove truncate table from test case
[koha_fer] / t / db_dependent / Borrower_Debarments.t
index 1ee1ebe..44d82b9 100755 (executable)
@@ -1,32 +1,24 @@
 #!/usr/bin/perl
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use C4::Context;
 use C4::Members;
 
-use Test::More tests => 18;
+use Test::More tests => 21;
 
-BEGIN {
-    use FindBin;
-    use lib $FindBin::Bin;
-    use_ok('Koha::Borrower::Debarments');
-}
+use_ok('Koha::Borrower::Debarments');
 
-# Get a borrower with no current debarments
-my $dbh   = C4::Context->dbh;
-my $query = "
-    SELECT b.borrowernumber FROM borrowers b
-    LEFT JOIN borrower_debarments bd ON ( b.borrowernumber = bd.borrowernumber )
-    WHERE b.debarred IS NULL AND b.debarredcomment IS NULL AND bd.borrowernumber IS NULL
-    LIMIT 1
-";
-my $sth = $dbh->prepare($query);
-$sth->execute;
-my ($borrowernumber) = $sth->fetchrow_array();
-diag("Using borrowernumber: $borrowernumber");
+my $dbh = C4::Context->dbh;
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
 
+my $borrowernumber = AddMember(
+    firstname =>  'my firstname',
+    surname => 'my surname',
+    categorycode => 'S',
+    branchcode => 'CPL',
+);
 
 my $success = AddDebarment({
     borrowernumber => $borrowernumber,
@@ -99,4 +91,15 @@ foreach my $d ( @$debarments ) {
     DelDebarment( $d->{'borrower_debarment_id'} );
 }
 $debarments = GetDebarments({ borrowernumber => $borrowernumber });
-ok( @$debarments == 0, "DelDebarment functions correctly" )
\ No newline at end of file
+ok( @$debarments == 0, "DelDebarment functions correctly" );
+
+$dbh->do(q|UPDATE borrowers SET debarred = '1970-01-01'|);
+is( IsDebarred( $borrowernumber ), undef, 'A patron with a debarred date in the past is not debarred' );
+
+$dbh->do(q|UPDATE borrowers SET debarred = NULL|);
+is( IsDebarred( $borrowernumber ), undef, 'A patron without a debarred date is not debarred' );
+
+$dbh->do(q|UPDATE borrowers SET debarred = '9999-12-31'|); # Note: Change this test before the first of January 10000!
+is( IsDebarred( $borrowernumber ), '9999-12-31', 'A patron with a debarred date in the future is debarred' );
+
+$dbh->rollback;