X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=t%2Fdb_dependent%2FBorrower_Debarments.t;h=44d82b9f8f50ea34459de88dec082b526bb0c7df;hb=80c68171bdefeebf90a958af330d43514a687c5f;hp=1ee1ebe002a0520898239418e6b64962eb4e0bbc;hpb=80897930b73dcd17b377ce2d175a85a720117922;p=koha_fer diff --git a/t/db_dependent/Borrower_Debarments.t b/t/db_dependent/Borrower_Debarments.t index 1ee1ebe002..44d82b9f8f 100755 --- a/t/db_dependent/Borrower_Debarments.t +++ b/t/db_dependent/Borrower_Debarments.t @@ -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;