sub find {
my ( $self, $id ) = @_;
+ croak 'Cannot use "->find" in list context' if wantarray;
+
return unless defined($id);
my $result = $self->_resultset()->find($id);
use Modern::Perl;
-use Test::More tests => 13;
+use Test::More tests => 14;
use Test::Warn;
use Koha::Authority::Types;
my $borrowernumber_exists = grep { /^borrowernumber$/ } @columns;
is( $borrowernumber_exists, 1, 'Koha::Objects->columns should return the table columns' );
+subtest 'find' => sub {
+ plan tests => 2;
+ my $patron = $builder->build({source => 'Borrower'});
+ my $patron_object = Koha::Patrons->find( $patron->{borrowernumber} );
+ is( $patron_object->borrowernumber, $patron->{borrowernumber}, '->find should return the correct object' );
+
+ eval { my @patrons = Koha::Patrons->find( $patron->{borrowernumber} ); };
+ like( $@, qr|^Cannot use "->find" in list context|, "->find should not be called in list context to avoid side-effects" );
+};
+
subtest 'update' => sub {
plan tests => 2;