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

(-)a/C4/Circulation.pm (+13 lines)
Lines 41-46 use Algorithm::CheckDigits qw( CheckDigits ); Link Here
41
use Data::Dumper qw( Dumper );
41
use Data::Dumper qw( Dumper );
42
use Koha::Account;
42
use Koha::Account;
43
use Koha::AuthorisedValues;
43
use Koha::AuthorisedValues;
44
use Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue;
44
use Koha::Biblioitems;
45
use Koha::Biblioitems;
45
use Koha::DateUtils qw( dt_from_string output_pref );
46
use Koha::DateUtils qw( dt_from_string output_pref );
46
use Koha::Calendar;
47
use Koha::Calendar;
Lines 1773-1778 sub AddIssue { Link Here
1773
                    checkout => $issue->get_from_storage
1774
                    checkout => $issue->get_from_storage
1774
                }
1775
                }
1775
            });
1776
            });
1777
1778
            Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue(
1779
                {
1780
                    biblio_ids => [ $item_object->biblionumber ]
1781
                }
1782
            );
1776
        }
1783
        }
1777
    }
1784
    }
1778
    return $issue;
1785
    return $issue;
Lines 2433-2438 sub AddReturn { Link Here
2433
                checkout=> $checkin
2440
                checkout=> $checkin
2434
            }
2441
            }
2435
        });
2442
        });
2443
2444
        Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue(
2445
            {
2446
                biblio_ids => [ $item->biblionumber ]
2447
            }
2448
        );
2436
    }
2449
    }
2437
2450
2438
    return ( $doreturn, $messages, $issue, ( $patron ? $patron->unblessed : {} ));
2451
    return ( $doreturn, $messages, $issue, ( $patron ? $patron->unblessed : {} ));
(-)a/t/db_dependent/Circulation_holdsqueue.t (-1 / +64 lines)
Line 0 Link Here
0
- 
1
#!/usr/bin/perl
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Test::More tests => 1;
21
use Test::MockModule;
22
23
use C4::Circulation qw( AddIssue AddReturn );
24
25
use Koha::Database;
26
27
use t::lib::Mocks;
28
use t::lib::TestBuilder;
29
30
my $schema  = Koha::Database->schema;
31
my $builder = t::lib::TestBuilder->new;
32
33
subtest 'AddIssue() and AddReturn() real-time holds queue tests' => sub {
34
35
    plan tests => 2;
36
37
    $schema->storage->txn_begin;
38
39
    my $library = $builder->build_object({ class => 'Koha::Libraries' });
40
    my $patron  = $builder->build_object({ class => 'Koha::Patrons' });
41
    my $item    = $builder->build_sample_item({ library => $library->id });
42
43
    t::lib::Mocks::mock_userenv({ branchcode => $library->id });
44
45
    my $action;
46
47
    my $mock = Test::MockModule->new('Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue');
48
    $mock->mock( 'enqueue', sub {
49
        my ( $self, $args ) = @_;
50
        is_deeply(
51
            $args->{biblio_ids},
52
            [ $item->biblionumber ],
53
            "$action triggers a holds queue update for the related biblio"
54
        );
55
    } );
56
57
    $action = 'AddIssue';
58
    AddIssue( $patron->unblessed, $item->barcode, );
59
60
    $action = 'AddReturn';
61
    AddReturn( $item->barcode );
62
63
    $schema->storage->txn_rollback;
64
};

Return to bug 29346