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

(-)a/t/db_dependent/SIP/Message.t (-2 / +105 lines)
Lines 21-27 Link Here
21
# along with Koha; if not, see <http://www.gnu.org/licenses>.
21
# along with Koha; if not, see <http://www.gnu.org/licenses>.
22
22
23
use Modern::Perl;
23
use Modern::Perl;
24
use Test::More tests => 17;
24
use Test::More tests => 18;
25
use Test::Exception;
25
use Test::Exception;
26
use Test::MockObject;
26
use Test::MockObject;
27
use Test::MockModule;
27
use Test::MockModule;
Lines 96-101 subtest 'Test renew desensitize' => sub { Link Here
96
    $schema->storage->txn_rollback;
96
    $schema->storage->txn_rollback;
97
};
97
};
98
98
99
subtest 'Test renew desensitize' => sub {
100
    my $schema = Koha::Database->new->schema;
101
    $schema->storage->txn_begin;
102
    plan tests => 3;
103
    $C4::SIP::Sip::protocol_version = 2;
104
    test_renew_all();
105
    $schema->storage->txn_rollback;
106
};
107
99
subtest 'Checkin V2' => sub {
108
subtest 'Checkin V2' => sub {
100
    my $schema = Koha::Database->new->schema;
109
    my $schema = Koha::Database->new->schema;
101
    $schema->storage->txn_begin;
110
    $schema->storage->txn_begin;
Lines 1295-1300 sub test_checkout_desensitize { Link Here
1295
    is( $respcode, 'Y', "Desensitize flag was set for empty inhouse_item_types" );
1304
    is( $respcode, 'Y', "Desensitize flag was set for empty inhouse_item_types" );
1296
}
1305
}
1297
1306
1307
sub test_renew_all {
1308
    my $builder    = t::lib::TestBuilder->new();
1309
    my $branchcode = $builder->build( { source => 'Branch' } )->{branchcode};
1310
    my ( $response, $findpatron );
1311
    my $mocks = create_mocks( \$response, \$findpatron, \$branchcode );
1312
1313
    t::lib::Mocks::mock_preference( 'ItemsDeniedRenewal', 'damaged: [1]' );
1314
1315
    # create some data
1316
    my $patron1 = $builder->build(
1317
        {
1318
            source => 'Borrower',
1319
            value  => {
1320
                password => hash_password(PATRON_PW),
1321
            },
1322
        }
1323
    );
1324
    my $card1           = $patron1->{cardnumber};
1325
    my $sip_patron1     = C4::SIP::ILS::Patron->new($card1);
1326
    my $patron_category = $sip_patron1->ptype();
1327
    $findpatron = $sip_patron1;
1328
    my $item_object_1 = $builder->build_sample_item(
1329
        {
1330
            damaged       => 0,
1331
            withdrawn     => 0,
1332
            itemlost      => 0,
1333
            restricted    => 0,
1334
            homebranch    => $branchcode,
1335
            holdingbranch => $branchcode,
1336
        }
1337
    );
1338
    my $item_object_2 = $builder->build_sample_item(
1339
        {
1340
            damaged       => 1,
1341
            withdrawn     => 0,
1342
            itemlost      => 0,
1343
            restricted    => 0,
1344
            homebranch    => $branchcode,
1345
            holdingbranch => $branchcode,
1346
        }
1347
    );
1348
1349
    my $mockILS = $mocks->{ils};
1350
    my $server  = { ils => $mockILS, account => {} };
1351
    $mockILS->mock( 'institution', sub { $branchcode; } );
1352
    $mockILS->mock( 'supports',    sub { return; } );
1353
    $mockILS->mock(
1354
        'renew_all',
1355
        sub {
1356
            shift;
1357
            return C4::SIP::ILS->renew_all(@_);
1358
        }
1359
    );
1360
    my $today = dt_from_string;
1361
    t::lib::Mocks::mock_userenv( { branchcode => $branchcode, flags => 1 } );
1362
1363
    my $issue_1 = Koha::Checkout->new(
1364
        {
1365
            branchcode     => $branchcode,
1366
            borrowernumber => $patron1->{borrowernumber},
1367
            itemnumber     => $item_object_1->itemnumber
1368
        }
1369
    )->store;
1370
    my $issue_2 = Koha::Checkout->new(
1371
        {
1372
            branchcode     => $branchcode,
1373
            borrowernumber => $patron1->{borrowernumber},
1374
            itemnumber     => $item_object_2->itemnumber
1375
        }
1376
    )->store;
1377
1378
    my $siprequest =
1379
          RENEW_ALL
1380
        . siprequestdate($today)
1381
        . FID_INST_ID
1382
        . $branchcode . '|'
1383
        . FID_PATRON_ID
1384
        . $sip_patron1->id . '|'
1385
        . FID_TERMINAL_PWD
1386
        . 'ignored' . '|';
1387
1388
    undef $response;
1389
    my $msg = C4::SIP::Sip::MsgType->new( $siprequest, 0 );
1390
    $msg->handle_renew_all($server);
1391
    isnt(
1392
        index( $response, "BM" . $item_object_1->barcode ),
1393
        -1, "Found correct BM for item renewed successfully"
1394
    );
1395
    isnt(
1396
        index( $response, "BN" . $item_object_2->barcode ),
1397
        -1, "Found correct BN for item not renewed"
1398
    );
1399
    is( index( $response, "HASH(", ) - 1, "String 'HASH(' not found in reponse ( Bug 35461 )" );
1400
}
1401
1298
sub test_renew_desensitize {
1402
sub test_renew_desensitize {
1299
    my $builder = t::lib::TestBuilder->new();
1403
    my $builder = t::lib::TestBuilder->new();
1300
    my $branchcode  = $builder->build({ source => 'Branch' })->{branchcode};
1404
    my $branchcode  = $builder->build({ source => 'Branch' })->{branchcode};
1301
- 

Return to bug 35461