Bug 19386: Prevent t/db_dependent/SIP/Patron.t to fail randomly

Depending on the values used by TestBuilder, some tests from t/db_dependent/SIP/Patron.t can fail

    #   Failed test 'Not blocked without overdues when set to 'Don't block''
    #   at t/db_dependent/SIP/Patron.t line 55.
    #          got: '0'
    #     expected: '1'

    #   Failed test 'Not blocked without overdues when set to 'confirmation''
    #   at t/db_dependent/SIP/Patron.t line 61.
    #          got: '0'
    #     expected: '1'

    #   Failed test 'Not blocked without overdues when set to 'Block''
    #   at t/db_dependent/SIP/Patron.t line 67.
    #          got: '0'
    #     expected: '1'

Caused by this check in C4::SIP::ILS::Patron->new
110     for (qw(EXPIRED CHARGES CREDITS GNA LOST DBARRED NOTES)) {
111         ($flags->{$_}) or next;
[...]
115         if ($flags->{$_}->{noissues}) {
116             foreach my $toggle (qw(charge_ok renew_ok recall_ok hold_ok inet)) {
117                 $ilspatron{$toggle} = 0;    # if we get noissues, disable everything
118             }
119         }
120     }

Test plan:
Execute several times (50x?) these tests.
Without this patch they may fail
With this patch they must never fail

Signed-off-by: David Bourgault <david.bourgault@inlibro.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2017-09-28 17:31:04 -03:00
parent d805c1ce81
commit 6545cfe3f3

View file

@ -31,8 +31,28 @@ subtest "OverduesBlockCirc tests" => sub {
plan tests => 6; plan tests => 6;
my $odue_patron = $builder->build({ source => 'Borrower' }); my $odue_patron = $builder->build(
my $good_patron = $builder->build({ source => 'Borrower' }); {
source => 'Borrower',
value => {
debarred => undef,
dateexpiry => "3000-01-01",
lost => 0,
gonenoaddress => 0,
}
}
);
my $good_patron = $builder->build(
{
source => 'Borrower',
value => {
debarred => undef,
dateexpiry => "3000-01-01",
lost => 0,
gonenoaddress => 0,
}
}
);
my $odue = $builder->build({ source => 'Issue', value => { my $odue = $builder->build({ source => 'Issue', value => {
borrowernumber => $odue_patron->{borrowernumber}, borrowernumber => $odue_patron->{borrowernumber},
date_due => '2017-01-01', date_due => '2017-01-01',