From 794b2dd81ca9ca2c786044d8ef07c7d6e926e673 Mon Sep 17 00:00:00 2001 From: Lari Taskula Date: Mon, 14 Feb 2022 11:14:36 +0000 Subject: [PATCH] Bug 22321: Add unit tests To test: 1. prove t/db_dependent/Illrequests.t 2. Observe test failure 1..3 ok 1 - before change, original borrowernumber found not ok 2 - after change, changed borrowernumber found in holds # Failed test 'after change, changed borrowernumber found in holds' # at t/db_dependent/Illrequests.t line 167. # got: '3786' # expected: '3787' ok 3 - after change, changed borrowernumber found in illrequests # Looks like you failed 1 test of 3. not ok 4 - store borrowernumber change also updates holds Signed-off-by: Magnus Enger Signed-off-by: Katrin Fischer Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi --- t/db_dependent/Illrequests.t | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/t/db_dependent/Illrequests.t b/t/db_dependent/Illrequests.t index 1d5d8c07ec..1bc9c5116f 100755 --- a/t/db_dependent/Illrequests.t +++ b/t/db_dependent/Illrequests.t @@ -125,6 +125,55 @@ subtest 'Basic object tests' => sub { $schema->storage->txn_rollback; }; +subtest 'store borrowernumber change also updates holds' => sub { + plan tests => 3; + + $schema->storage->txn_begin; + + Koha::Illrequests->search->delete; + + my $patron = $builder->build_object({ class => 'Koha::Patrons' }); + my $other_patron = $builder->build_object({ class => 'Koha::Patrons' }); + my $biblio = $builder->build_object({ class => 'Koha::Biblios' }); + + my $request = $builder->build_object({ + class => 'Koha::Illrequests', + value => { + borrowernumber => $patron->borrowernumber, + biblio_id => $biblio->biblionumber, + } + }); + $builder->build({ + source => 'Reserve', + value => { + borrowernumber => $patron->borrowernumber, + biblionumber => $request->biblio_id + } + }); + + my $hold = Koha::Holds->find({ + biblionumber => $request->biblio_id, + borrowernumber => $request->borrowernumber, + }); + + is( $hold->borrowernumber, $request->borrowernumber, + 'before change, original borrowernumber found' ); + + $request->borrowernumber( $other_patron->borrowernumber )->store; + + # reload changes + $hold->discard_changes; + + is( $hold->borrowernumber, $other_patron->borrowernumber, + 'after change, changed borrowernumber found in holds' ); + + is( $request->borrowernumber, $other_patron->borrowernumber, + 'after change, changed borrowernumber found in illrequests' ); + + $schema->storage->txn_rollback; + +}; + subtest 'Working with related objects' => sub { plan tests => 7;