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

(-)a/t/db_dependent/Illrequests.t (-2 / +63 lines)
Lines 18-23 Link Here
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use File::Basename qw/basename/;
20
use File::Basename qw/basename/;
21
22
use C4::Circulation qw(AddIssue AddReturn);
23
21
use Koha::Database;
24
use Koha::Database;
22
use Koha::Illrequestattributes;
25
use Koha::Illrequestattributes;
23
use Koha::Illrequest::Config;
26
use Koha::Illrequest::Config;
Lines 36-42 use Test::Exception; Link Here
36
use Test::Deep qw/ cmp_deeply ignore /;
39
use Test::Deep qw/ cmp_deeply ignore /;
37
use Test::Warn;
40
use Test::Warn;
38
41
39
use Test::More tests => 12;
42
use Test::More tests => 13;
40
43
41
my $schema = Koha::Database->new->schema;
44
my $schema = Koha::Database->new->schema;
42
my $builder = t::lib::TestBuilder->new;
45
my $builder = t::lib::TestBuilder->new;
Lines 1160-1162 subtest 'Custom statuses' => sub { Link Here
1160
1163
1161
    $schema->storage->txn_rollback;
1164
    $schema->storage->txn_rollback;
1162
};
1165
};
1163
- 
1166
1167
subtest 'Checking in hook' => sub {
1168
1169
    plan tests => 2;
1170
1171
    $schema->storage->txn_begin;
1172
1173
    # Build infrastructure
1174
    my $backend = Test::MockObject->new;
1175
    $backend->set_isa('Koha::Illbackends::Mock');
1176
    $backend->set_always('name', 'Mock');
1177
1178
    my $config = Test::MockObject->new;
1179
    $config->set_always('backend_dir', "/tmp");
1180
1181
    my $item   = $builder->build_sample_item();
1182
    my $patron = $builder->build_object({ class => 'Koha::Patrons' });
1183
1184
    t::lib::Mocks::mock_userenv(
1185
        {
1186
            patron     => $patron,
1187
            branchcode => $patron->branchcode
1188
        }
1189
    );
1190
1191
    my $illrq = $builder->build_object(
1192
        {
1193
            class => 'Koha::Illrequests',
1194
            value => {
1195
                biblio_id => $item->biblio->biblionumber,
1196
                status    => 'NEW'
1197
            }
1198
        }
1199
    );
1200
1201
    $illrq->_config($config);
1202
    $illrq->_backend($backend);
1203
1204
    t::lib::Mocks::mock_preference('CirculateILL', 1);
1205
1206
    # Add an issue
1207
    AddIssue( $patron->unblessed, $item->barcode );
1208
    # Make the item withdrawn so checking-in is rejected
1209
    t::lib::Mocks::mock_preference('BlockReturnOfWithdrawnItems', 1);
1210
    $item->set({ withdrawn => 1 })->store;
1211
    AddReturn( $item->barcode, $patron->branchcode );
1212
    # refresh request
1213
    $illrq->discard_changes;
1214
    isnt( $illrq->status, 'RET' );
1215
1216
    # allow the check-in
1217
    $item->set({ withdrawn => 0 })->store;
1218
    AddReturn( $item->barcode, $patron->branchcode );
1219
    # refresh request
1220
    $illrq->discard_changes;
1221
    is( $illrq->status, 'RET' );
1222
1223
    $schema->storage->txn_rollback;
1224
};

Return to bug 26114