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

(-)a/t/db_dependent/Koha/Object.t (-2 / +57 lines)
Lines 17-27 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 10;
20
use Test::More tests => 11;
21
use Test::Exception;
21
use Test::Exception;
22
use Test::Warn;
22
use Test::Warn;
23
use DateTime;
23
24
24
use C4::Context;
25
use C4::Context;
26
use C4::Biblio; # AddBiblio
27
use C4::Circulation; # AddIssue
28
use C4::Members;# AddMember
25
use Koha::Database;
29
use Koha::Database;
26
use Koha::DateUtils qw( dt_from_string );
30
use Koha::DateUtils qw( dt_from_string );
27
use Koha::Libraries;
31
use Koha::Libraries;
Lines 309-311 subtest 'store() tests' => sub { Link Here
309
313
310
    $schema->storage->txn_rollback;
314
    $schema->storage->txn_rollback;
311
};
315
};
312
- 
316
317
subtest 'unblessed_all_relateds' => sub {
318
    plan tests => 3;
319
320
    $schema->storage->txn_begin;
321
322
    # FIXME It's very painful to create an issue in tests!
323
    my $library = $builder->build_object( { class => 'Koha::Libraries' } );
324
    C4::Context->_new_userenv('xxx');
325
    C4::Context->set_userenv(0,0,0,'firstname','surname', $library->branchcode, 'Midway Public Library', '', '', '');
326
    my $patron_category = $builder->build(
327
        {
328
            source => 'Category',
329
            value  => {
330
                category_type                 => 'P',
331
                enrolmentfee                  => 0,
332
                BlockExpiredPatronOpacActions => -1, # Pick the pref value
333
            }
334
        }
335
    );
336
    my $patron_data = {
337
        firstname =>  'firstname',
338
        surname => 'surname',
339
        categorycode => $patron_category->{categorycode},
340
        branchcode => $library->branchcode,
341
    };
342
    my $borrowernumber = C4::Members::AddMember(%$patron_data);
343
    my $patron = Koha::Patrons->find( $borrowernumber );
344
    my ($biblionumber) = AddBiblio( MARC::Record->new, '' );
345
    my $biblio = Koha::Biblios->find( $biblionumber );
346
    my $item = $builder->build_object(
347
        {
348
            class => 'Koha::Items',
349
            value => {
350
                homebranch    => $library->branchcode,
351
                holdingbranch => $library->branchcode,
352
                biblionumber  => $biblio->biblionumber,
353
                itemlost      => 0,
354
                withdrawn     => 0,
355
            }
356
        }
357
    );
358
359
    my $issue = AddIssue( $patron->unblessed, $item->barcode, DateTime->now->subtract( days => 1 ) );
360
    my $overdues = Koha::Patrons->find( $patron->id )->get_overdues; # Koha::Patron->get_overdue prefetches
361
    my $overdue = $overdues->next->unblessed_all_relateds;
362
    is( $overdue->{issue_id}, $issue->issue_id, 'unblessed_all_relateds has field from the original table (issues)' );
363
    is( $overdue->{title}, $biblio->title, 'unblessed_all_relateds has field from other tables (biblio)' );
364
    is( $overdue->{homebranch}, $item->homebranch, 'unblessed_all_relateds has field from other tables (items)' );
365
366
    $schema->storage->txn_rollback;
367
};

Return to bug 19926