View | Details | Raw Unified | Return to bug 39600
Collapse All | Expand All

(-)a/t/db_dependent/api/v1/ill_requests.t (-2 / +81 lines)
Lines 18-24 Link Here
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::NoWarnings;
20
use Test::NoWarnings;
21
use Test::More tests => 3;
21
use Test::More tests => 4;
22
22
23
use Test::MockModule;
23
use Test::MockModule;
24
use Test::MockObject;
24
use Test::MockObject;
Lines 264-269 subtest 'list() tests' => sub { Link Here
264
    $schema->storage->txn_rollback;
264
    $schema->storage->txn_rollback;
265
};
265
};
266
266
267
subtest 'patron_list() tests' => sub {
268
269
    plan tests => 15;
270
271
    # Mock ILLBackend (as object)
272
    my $backend = Test::MockObject->new;
273
    $backend->set_isa('Koha::Illbackends::Mock');
274
    $backend->set_always( 'name', 'Mock' );
275
    $backend->mock(
276
        'status_graph', sub { },
277
    );
278
279
    # Mock Koha::ILL::Request::load_backend (to load Mocked Backend)
280
    my $illreqmodule = Test::MockModule->new('Koha::ILL::Request');
281
    $illreqmodule->mock(
282
        'load_backend',
283
        sub { my $self = shift; $self->{_my_backend} = $backend; return $self }
284
    );
285
286
    $schema->storage->txn_begin;
287
288
    Koha::ILL::Requests->search->delete;
289
290
    my $requester = $builder->build_object(
291
        {
292
            class => 'Koha::Patrons',
293
            value => { flags => 0 }
294
        }
295
    );
296
    my $password = 'thePassword123';
297
    $requester->set_password( { password => $password, skip_validation => 1 } );
298
    my $requester_userid = $requester->userid;
299
    my $requester_number = $requester->borrowernumber;
300
301
    my $observer = $builder->build_object(
302
        {
303
            class => 'Koha::Patrons',
304
            value => { flags => 0 }
305
        }
306
    );
307
308
    $observer->set_password( { password => $password, skip_validation => 1 } );
309
    my $observer_userid = $observer->userid;
310
    my $observer_number = $observer->borrowernumber;
311
312
    # No requests yet, expect empty for both
313
    $t->get_ok("//$requester_userid:$password@/api/v1/patrons/$requester_number/ill/requests")->status_is(200)->json_is( [] );
314
    $t->get_ok("//$observer_userid:$password@/api/v1/patrons/$observer_number/ill/requests")->status_is(200)->json_is( [] );
315
316
    for (0..25) {
317
        $builder->build_object(
318
            {
319
                class => 'Koha::ILL::Requests',
320
                value => {
321
                    borrowernumber => $requester_number,
322
                    batch_id       => undef,
323
                    status         => 'NEW',
324
                    backend        => $backend->name,
325
                    notesstaff     => 'secret staff notes'
326
                }
327
            }
328
        );
329
    }
330
331
    # Other user should not see anything
332
    $t->get_ok("//$observer_userid:$password@/api/v1/patrons/$observer_number/ill/requests")->status_is(200)->json_is( [] );
333
334
    # Staff notes hidden in the public API
335
    $t->get_ok("//$requester_userid:$password@/api/v1/patrons/$requester_number/ill/requests")->status_is(200)->json_is(
336
        '/0/staff_notes' => undef,
337
    );
338
339
    # Not all requests get returned, pagination works
340
    $t->get_ok("//$requester_userid:$password@/api/v1/patrons/$requester_number/ill/requests")->status_is(200)->json_is(
341
        '/21' => undef,
342
    );
343
344
    $schema->storage->txn_rollback;
345
};
346
267
subtest 'add() tests' => sub {
347
subtest 'add() tests' => sub {
268
348
269
    plan tests => 2;
349
    plan tests => 2;
270
- 

Return to bug 39600