Lines 19-25
Link Here
|
19 |
|
19 |
|
20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
21 |
|
21 |
|
22 |
use Test::More tests => 12; |
22 |
use Test::More tests => 13; |
23 |
use Test::Exception; |
23 |
use Test::Exception; |
24 |
use Time::Fake; |
24 |
use Time::Fake; |
25 |
|
25 |
|
Lines 1318-1320
$retrieved_item_1->delete;
Link Here
|
1318 |
is( Koha::Items->search->count, $nb_of_items - 1, 'Delete should have deleted the item' ); |
1318 |
is( Koha::Items->search->count, $nb_of_items - 1, 'Delete should have deleted the item' ); |
1319 |
|
1319 |
|
1320 |
$schema->storage->txn_rollback; |
1320 |
$schema->storage->txn_rollback; |
1321 |
- |
1321 |
|
|
|
1322 |
subtest 'filter_by_visible_in_opac() tests' => sub { |
1323 |
|
1324 |
plan tests => 8; |
1325 |
|
1326 |
$schema->storage->txn_begin; |
1327 |
|
1328 |
# have a fresh biblio |
1329 |
my $biblio = $builder->build_sample_biblio; |
1330 |
# have two itemtypes |
1331 |
my $itype_1 = $builder->build_object({ class => 'Koha::ItemTypes' }); |
1332 |
my $itype_2 = $builder->build_object({ class => 'Koha::ItemTypes' }); |
1333 |
# have 5 items on that biblio |
1334 |
my $item_1 = $builder->build_sample_item( |
1335 |
{ |
1336 |
biblionumber => $biblio->biblionumber, |
1337 |
itemlost => -1, |
1338 |
itype => $itype_1->itemtype, |
1339 |
withdrawn => 1 |
1340 |
} |
1341 |
); |
1342 |
my $item_2 = $builder->build_sample_item( |
1343 |
{ |
1344 |
biblionumber => $biblio->biblionumber, |
1345 |
itemlost => 0, |
1346 |
itype => $itype_2->itemtype, |
1347 |
withdrawn => 2 |
1348 |
} |
1349 |
); |
1350 |
my $item_3 = $builder->build_sample_item( |
1351 |
{ |
1352 |
biblionumber => $biblio->biblionumber, |
1353 |
itemlost => 1, |
1354 |
itype => $itype_1->itemtype, |
1355 |
withdrawn => 3 |
1356 |
} |
1357 |
); |
1358 |
my $item_4 = $builder->build_sample_item( |
1359 |
{ |
1360 |
biblionumber => $biblio->biblionumber, |
1361 |
itemlost => 0, |
1362 |
itype => $itype_2->itemtype, |
1363 |
withdrawn => 4 |
1364 |
} |
1365 |
); |
1366 |
my $item_5 = $builder->build_sample_item( |
1367 |
{ |
1368 |
biblionumber => $biblio->biblionumber, |
1369 |
itemlost => undef, |
1370 |
itype => $itype_1->itemtype, |
1371 |
withdrawn => 5 |
1372 |
} |
1373 |
); |
1374 |
|
1375 |
my $rules = {}; |
1376 |
|
1377 |
t::lib::Mocks::mock_preference( 'hidelostitems', 0 ); |
1378 |
is( $biblio->items->filter_by_visible_in_opac->count, |
1379 |
5, 'No rules passed, hidelostitems unset' ); |
1380 |
|
1381 |
t::lib::Mocks::mock_preference( 'hidelostitems', 1 ); |
1382 |
is( |
1383 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } )->count, |
1384 |
4, |
1385 |
'No rules passed, hidelostitems set' |
1386 |
); |
1387 |
|
1388 |
$rules = { withdrawn => [ 1, 2 ] }; |
1389 |
is( |
1390 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } )->count, |
1391 |
2, |
1392 |
'Rules on withdrawn, hidelostitems set' |
1393 |
); |
1394 |
|
1395 |
$rules = { itype => [ $itype_1->itemtype ] }; |
1396 |
is( |
1397 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } )->count, |
1398 |
2, |
1399 |
'Rules on itype, hidelostitems set' |
1400 |
); |
1401 |
|
1402 |
$rules = { withdrawn => [ 1, 2 ], itype => [ $itype_1->itemtype ] }; |
1403 |
is( |
1404 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } )->count, |
1405 |
1, |
1406 |
'Rules on itype and withdrawn, hidelostitems set' |
1407 |
); |
1408 |
is( |
1409 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } ) |
1410 |
->next->itemnumber, |
1411 |
$item_4->itemnumber, |
1412 |
'The right item is returned' |
1413 |
); |
1414 |
|
1415 |
$rules = { withdrawn => [ 1, 2 ], itype => [ $itype_2->itemtype ] }; |
1416 |
is( |
1417 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } )->count, |
1418 |
1, |
1419 |
'Rules on itype and withdrawn, hidelostitems set' |
1420 |
); |
1421 |
is( |
1422 |
$biblio->items->filter_by_visible_in_opac( { rules => $rules } ) |
1423 |
->next->itemnumber, |
1424 |
$item_5->itemnumber, |
1425 |
'The right item is returned' |
1426 |
); |
1427 |
|
1428 |
$schema->storage->txn_rollback; |
1429 |
}; |