|
Lines 48-53
use Koha::Account::Lines;
Link Here
|
| 48 |
use Koha::Account::Offsets; |
48 |
use Koha::Account::Offsets; |
| 49 |
use Koha::ActionLogs; |
49 |
use Koha::ActionLogs; |
| 50 |
|
50 |
|
|
|
51 |
sub set_userenv { |
| 52 |
my ( $library ) = @_; |
| 53 |
t::lib::Mocks::mock_userenv({ branchcode => $library->{branchcode} }); |
| 54 |
} |
| 55 |
|
| 56 |
sub str { |
| 57 |
my ( $error, $question, $alert ) = @_; |
| 58 |
my $s; |
| 59 |
$s = %$error ? ' (error: ' . join( ' ', keys %$error ) . ')' : ''; |
| 60 |
$s .= %$question ? ' (question: ' . join( ' ', keys %$question ) . ')' : ''; |
| 61 |
$s .= %$alert ? ' (alert: ' . join( ' ', keys %$alert ) . ')' : ''; |
| 62 |
return $s; |
| 63 |
} |
| 64 |
|
| 65 |
sub test_debarment_on_checkout { |
| 66 |
my ($params) = @_; |
| 67 |
my $item = $params->{item}; |
| 68 |
my $library = $params->{library}; |
| 69 |
my $patron = $params->{patron}; |
| 70 |
my $due_date = $params->{due_date} || dt_from_string; |
| 71 |
my $return_date = $params->{return_date} || dt_from_string; |
| 72 |
my $expected_expiration_date = $params->{expiration_date}; |
| 73 |
|
| 74 |
$expected_expiration_date = output_pref( |
| 75 |
{ |
| 76 |
dt => $expected_expiration_date, |
| 77 |
dateformat => 'sql', |
| 78 |
dateonly => 1, |
| 79 |
} |
| 80 |
); |
| 81 |
my @caller = caller; |
| 82 |
my $line_number = $caller[2]; |
| 83 |
AddIssue( $patron, $item->{barcode}, $due_date ); |
| 84 |
|
| 85 |
my ( undef, $message ) = AddReturn( $item->{barcode}, $library->{branchcode}, undef, $return_date ); |
| 86 |
is( $message->{WasReturned} && exists $message->{Debarred}, 1, 'AddReturn must have debarred the patron' ) |
| 87 |
or diag('AddReturn returned message ' . Dumper $message ); |
| 88 |
my $debarments = Koha::Patron::Debarments::GetDebarments( |
| 89 |
{ borrowernumber => $patron->{borrowernumber}, type => 'SUSPENSION' } ); |
| 90 |
is( scalar(@$debarments), 1, 'Test at line ' . $line_number ); |
| 91 |
|
| 92 |
is( $debarments->[0]->{expiration}, |
| 93 |
$expected_expiration_date, 'Test at line ' . $line_number ); |
| 94 |
Koha::Patron::Debarments::DelUniqueDebarment( |
| 95 |
{ borrowernumber => $patron->{borrowernumber}, type => 'SUSPENSION' } ); |
| 96 |
}; |
| 97 |
|
| 51 |
my $schema = Koha::Database->schema; |
98 |
my $schema = Koha::Database->schema; |
| 52 |
$schema->storage->txn_begin; |
99 |
$schema->storage->txn_begin; |
| 53 |
my $builder = t::lib::TestBuilder->new; |
100 |
my $builder = t::lib::TestBuilder->new; |
|
Lines 3112-3166
subtest 'ProcessOfflinePayment() tests' => sub {
Link Here
|
| 3112 |
$schema->storage->txn_rollback; |
3159 |
$schema->storage->txn_rollback; |
| 3113 |
}; |
3160 |
}; |
| 3114 |
|
3161 |
|
| 3115 |
|
|
|
| 3116 |
|
| 3117 |
sub set_userenv { |
| 3118 |
my ( $library ) = @_; |
| 3119 |
t::lib::Mocks::mock_userenv({ branchcode => $library->{branchcode} }); |
| 3120 |
} |
| 3121 |
|
| 3122 |
sub str { |
| 3123 |
my ( $error, $question, $alert ) = @_; |
| 3124 |
my $s; |
| 3125 |
$s = %$error ? ' (error: ' . join( ' ', keys %$error ) . ')' : ''; |
| 3126 |
$s .= %$question ? ' (question: ' . join( ' ', keys %$question ) . ')' : ''; |
| 3127 |
$s .= %$alert ? ' (alert: ' . join( ' ', keys %$alert ) . ')' : ''; |
| 3128 |
return $s; |
| 3129 |
} |
| 3130 |
|
| 3131 |
sub test_debarment_on_checkout { |
| 3132 |
my ($params) = @_; |
| 3133 |
my $item = $params->{item}; |
| 3134 |
my $library = $params->{library}; |
| 3135 |
my $patron = $params->{patron}; |
| 3136 |
my $due_date = $params->{due_date} || dt_from_string; |
| 3137 |
my $return_date = $params->{return_date} || dt_from_string; |
| 3138 |
my $expected_expiration_date = $params->{expiration_date}; |
| 3139 |
|
| 3140 |
$expected_expiration_date = output_pref( |
| 3141 |
{ |
| 3142 |
dt => $expected_expiration_date, |
| 3143 |
dateformat => 'sql', |
| 3144 |
dateonly => 1, |
| 3145 |
} |
| 3146 |
); |
| 3147 |
my @caller = caller; |
| 3148 |
my $line_number = $caller[2]; |
| 3149 |
AddIssue( $patron, $item->{barcode}, $due_date ); |
| 3150 |
|
| 3151 |
my ( undef, $message ) = AddReturn( $item->{barcode}, $library->{branchcode}, undef, $return_date ); |
| 3152 |
is( $message->{WasReturned} && exists $message->{Debarred}, 1, 'AddReturn must have debarred the patron' ) |
| 3153 |
or diag('AddReturn returned message ' . Dumper $message ); |
| 3154 |
my $debarments = Koha::Patron::Debarments::GetDebarments( |
| 3155 |
{ borrowernumber => $patron->{borrowernumber}, type => 'SUSPENSION' } ); |
| 3156 |
is( scalar(@$debarments), 1, 'Test at line ' . $line_number ); |
| 3157 |
|
| 3158 |
is( $debarments->[0]->{expiration}, |
| 3159 |
$expected_expiration_date, 'Test at line ' . $line_number ); |
| 3160 |
Koha::Patron::Debarments::DelUniqueDebarment( |
| 3161 |
{ borrowernumber => $patron->{borrowernumber}, type => 'SUSPENSION' } ); |
| 3162 |
}; |
| 3163 |
|
| 3164 |
subtest 'Incremented fee tests' => sub { |
3162 |
subtest 'Incremented fee tests' => sub { |
| 3165 |
plan tests => 11; |
3163 |
plan tests => 11; |
| 3166 |
|
3164 |
|
| 3167 |
- |
|
|