[% FOREACH checkout IN checkouts %]
<tr>
[% IF show_patron_column %]
- <td>[% INCLUDE 'patron-title.inc' patron => checkout.patron hide_patron_infos_if_needed=1 %]</td>
+ <td>
+ [% IF checkout.patron %][%# Not set for deleted patron records %]
+ [% INCLUDE 'patron-title.inc' patron => checkout.patron hide_patron_infos_if_needed=1 %]
+ [% END %]
+ </td>
[% END %]
<td>
[% IF checkout.item.barcode %] [%# FIXME This test is not mandatory I think %]
use Test::More tests => 7;
+use C4::Circulation;
use Koha::Checkouts;
use Koha::Database;
use Koha::DateUtils qw( dt_from_string );
};
subtest 'patron' => sub {
- plan tests => 2;
- my $p = $new_checkout_1->patron;
- is( ref($p), 'Koha::Patron', 'Koha::Checkout->patron should return a Koha::Patron' );
- is( $p->borrowernumber, $patron->{borrowernumber}, 'Koha::Checkout->patron should return the correct patron' );
+ plan tests => 3;
+ my $patron = $builder->build_object({class=>'Koha::Patrons', value => {branchcode => $library->{branchcode}}});
+
+ my $item = $builder->build_object( { class=> 'Koha::Items' } );
+ my $checkout = Koha::Checkout->new(
+ { borrowernumber => $patron->borrowernumber,
+ itemnumber => $item->itemnumber,
+ branchcode => $library->{branchcode},
+ }
+ )->store;
+
+ my $p = $checkout->patron;
+ is( ref($p), 'Koha::Patron',
+ 'Koha::Checkout->patron should return a Koha::Patron' );
+ is( $p->borrowernumber, $patron->borrowernumber,
+ 'Koha::Checkout->patron should return the correct patron' );
+
+ # Testing Koha::Old::Checkout->patron now
+ my $issue_id = $checkout->issue_id;
+ C4::Circulation::MarkIssueReturned( $p->borrowernumber, $checkout->itemnumber );
+ $p->delete;
+ my $old_issue = Koha::Old::Checkouts->find($issue_id);
+ is( $old_issue->patron, undef,
+ 'Koha::Checkout->patron should return undef if the patron record has been deleted'
+ );
};
$retrieved_checkout_1->delete;