From 3c13eae4ca9e3da19f64314e73fca5bcb0b5db50 Mon Sep 17 00:00:00 2001
From: Julian Maurice <julian.maurice@biblibre.com>
Date: Wed, 31 Aug 2016 15:52:08 +0200
Subject: [PATCH] Bug 17229: Add unit test for BlockExpiredPatronOpacActions
 check

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
---
 t/db_dependent/Holds.t | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/t/db_dependent/Holds.t b/t/db_dependent/Holds.t
index e2066c7a88..8790969e79 100755
--- a/t/db_dependent/Holds.t
+++ b/t/db_dependent/Holds.t
@@ -7,7 +7,7 @@ use t::lib::TestBuilder;
 
 use C4::Context;
 
-use Test::More tests => 57;
+use Test::More tests => 58;
 use MARC::Record;
 
 use C4::Biblio;
@@ -41,7 +41,12 @@ my $dbh     = C4::Context->dbh;
 my $branch_1 = $builder->build({ source => 'Branch' })->{ branchcode };
 my $branch_2 = $builder->build({ source => 'Branch' })->{ branchcode };
 
-my $category = $builder->build({ source => 'Category' });
+my $category = $builder->build({
+    source => 'Category',
+    value => {
+        BlockExpiredPatronOpacActions => -1,
+    },
+});
 
 my $borrowers_count = 5;
 
@@ -129,6 +134,19 @@ my $patron = Koha::Patrons->find( $borrowernumbers[0] );
 $holds = $patron->holds;
 is( $holds->next->borrowernumber, $borrowernumbers[0], "Test Koha::Patron->holds");
 
+my $expired_borrowernumber = Koha::Patron->new({
+        firstname =>  'Expired',
+        surname => 'Patron',
+        categorycode => $category->{categorycode},
+        branchcode => $branch_1,
+    	dateexpiry => '2000-01-01',
+    })->store->borrowernumber;
+
+t::lib::Mocks::mock_preference('BlockExpiredPatronOpacActions', 1);
+ok(
+    CanItemBeReserved($expired_borrowernumber, $itemnumber)->{status} eq 'patronExpired',
+    'Expired patron cannot reserve'
+);
 
 $holds = $item->current_holds;
 $first_hold = $holds->next;
@@ -656,3 +674,4 @@ subtest 'CanItemBeReserved / holds_per_day tests' => sub {
 
     $schema->storage->txn_rollback;
 };
+
-- 
2.13.7