Bug 41880: Add a unit test for item level holds logging

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Lucas Gass 2026-02-27 20:49:25 +00:00
parent 27b76f9bf3
commit 7fd1ff8e89
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
1 changed files with 32 additions and 1 deletions

View File

@ -1746,7 +1746,7 @@ subtest 'revert_found() tests' => sub {
};
};
subtest 'move_hold() tests' => sub {
plan tests => 16;
plan tests => 21;
$schema->storage->txn_begin;
my $patron = Koha::Patron->new(
@ -1902,6 +1902,37 @@ subtest 'move_hold() tests' => sub {
'diff column contains undef itemnumber because this is a record level move'
);
$hold->move_hold( { new_itemnumber => $item_3->itemnumber } );
$hold->discard_changes;
my $logs_3 = Koha::ActionLogs->search(
{
action => 'MODIFY',
module => 'HOLDS',
object => $hold->id
}
);
is( $logs_3->count, 1, 'Item level hold modification was logged' );
my $diff_3 = decode_json( $logs_3->next->diff );
is(
$diff_3->{D}->{itemnumber}->{O}, $item_2->itemnumber,
'diff column for Old (O) contains original itemnumber for item level move'
);
is(
$diff_3->{D}->{itemnumber}->{N}, $item_3->itemnumber,
'diff column for New (N) contains new itemnumber for item level move'
);
is(
$diff_3->{D}->{biblionumber}->{O}, $biblio2->biblionumber,
'diff column for Old (O) contains original biblionumber for item level move'
);
is(
$diff_3->{D}->{biblionumber}->{N}, $biblio3->biblionumber,
'diff column for New (N) contains new biblionumber for item level move'
);
#disable HoldsLog
t::lib::Mocks::mock_preference( 'HoldsLog', 0 );