From f6dbf142b27820647d4fa40f5c573e75ae939299 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Fri, 19 Nov 2021 13:12:14 -0300
Subject: [PATCH] Bug 29523: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
---
 t/db_dependent/Koha/Object.t | 37 +++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/t/db_dependent/Koha/Object.t b/t/db_dependent/Koha/Object.t
index a18c6e1276a..0d16c2fa014 100755
--- a/t/db_dependent/Koha/Object.t
+++ b/t/db_dependent/Koha/Object.t
@@ -225,7 +225,7 @@ subtest 'TO_JSON tests' => sub {
 
 subtest "to_api() tests" => sub {
 
-    plan tests => 31;
+    plan tests => 32;
 
     $schema->storage->txn_begin;
 
@@ -535,6 +535,41 @@ subtest "to_api() tests" => sub {
         $schema->storage->txn_rollback;
     };
 
+    subtest 'accessible usage tests' => sub {
+
+        plan tests => 2;
+
+        $schema->storage->txn_begin;
+
+        my $library_1 = $builder->build_object( { class => 'Koha::Libraries' } );
+        my $library_2 = $builder->build_object( { class => 'Koha::Libraries' } );
+
+        my $patron = $builder->build_object(
+            {
+                class => 'Koha::Patrons',
+                value => {
+                    flags      => 2**2,            # only has catalogue permissions
+                    branchcode => $library_1->id
+                }
+            }
+        );
+
+
+        my $patron_1 = $builder->build_object(
+            { class => 'Koha::Patrons', value => { branchcode => $library_1->id } }
+        );
+        my $patron_2 = $builder->build_object(
+            { class => 'Koha::Patrons', value => { branchcode => $library_2->id } }
+        );
+
+        t::lib::Mocks::mock_userenv( { patron => $patron } );
+
+        is( ref($patron_1->to_api), 'HASH', 'Returns the object hash' );
+        is( $patron_2->to_api, undef, 'Not accessible, returns undef' );
+
+        $schema->storage->txn_rollback;
+    };
+
     $schema->storage->txn_rollback;
 };
 
-- 
2.41.0