|
Lines 19-25
Link Here
|
| 19 |
|
19 |
|
| 20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
| 21 |
|
21 |
|
| 22 |
use Test::More tests => 4; |
22 |
use Test::More tests => 5; |
| 23 |
|
23 |
|
| 24 |
use C4::Biblio; |
24 |
use C4::Biblio; |
| 25 |
|
25 |
|
|
Lines 152-162
subtest 'pickup_locations' => sub {
Link Here
|
| 152 |
my $dbh = C4::Context->dbh; |
152 |
my $dbh = C4::Context->dbh; |
| 153 |
|
153 |
|
| 154 |
# Cleanup database |
154 |
# Cleanup database |
|
|
155 |
$dbh->do('DELETE FROM issues'); |
| 155 |
Koha::Holds->search->delete; |
156 |
Koha::Holds->search->delete; |
| 156 |
Koha::Patrons->search->delete; |
157 |
Koha::Patrons->search->delete; |
| 157 |
Koha::Items->search->delete; |
158 |
Koha::Items->search->delete; |
| 158 |
Koha::Libraries->search->delete; |
159 |
Koha::Libraries->search->delete; |
| 159 |
$dbh->do('DELETE FROM issues'); |
|
|
| 160 |
Koha::CirculationRules->search->delete; |
160 |
Koha::CirculationRules->search->delete; |
| 161 |
Koha::CirculationRules->set_rules( |
161 |
Koha::CirculationRules->set_rules( |
| 162 |
{ |
162 |
{ |
|
Lines 329-331
subtest 'pickup_locations' => sub {
Link Here
|
| 329 |
|
329 |
|
| 330 |
$schema->storage->txn_rollback; |
330 |
$schema->storage->txn_rollback; |
| 331 |
}; |
331 |
}; |
| 332 |
- |
332 |
|
|
|
333 |
subtest 'move_to_biblio() tests' => sub { |
| 334 |
|
| 335 |
plan tests => 12; |
| 336 |
|
| 337 |
$schema->storage->txn_begin; |
| 338 |
|
| 339 |
my $dbh = C4::Context->dbh; |
| 340 |
|
| 341 |
my $source_biblio = $builder->build_sample_biblio(); |
| 342 |
my $target_biblio = $builder->build_sample_biblio(); |
| 343 |
|
| 344 |
my $source_biblionumber = $source_biblio->biblionumber; |
| 345 |
|
| 346 |
my $item1 = $builder->build_sample_item({ biblionumber => $source_biblionumber }); |
| 347 |
my $item2 = $builder->build_sample_item({ biblionumber => $source_biblionumber }); |
| 348 |
|
| 349 |
my $itemnumber1 = $item1->itemnumber; |
| 350 |
my $itemnumber2 = $item2->itemnumber; |
| 351 |
|
| 352 |
my $library = $builder->build_object({ class => 'Koha::Libraries' }); |
| 353 |
|
| 354 |
my $patron = $builder->build_object({ |
| 355 |
class => 'Koha::Patrons', |
| 356 |
value => { branchcode => $library->branchcode, } |
| 357 |
}); |
| 358 |
my $borrowernumber = $patron->borrowernumber; |
| 359 |
|
| 360 |
$dbh->do("INSERT INTO aqbudgets (budget_notes) VALUES ('test')"); |
| 361 |
my $budget_id = $dbh->last_insert_id(undef, undef, 'aqbudgets', 'budget_id'); |
| 362 |
|
| 363 |
$dbh->do('INSERT INTO aqorders (biblionumber, budget_id) VALUES (?, ?)', undef, $source_biblionumber, $budget_id); |
| 364 |
my $ordernumber1 = $dbh->last_insert_id(undef, undef, 'aqorders', 'ordernumber'); |
| 365 |
$dbh->do('INSERT INTO aqorders_items (ordernumber, itemnumber) VALUES (?, ?)', undef, $ordernumber1, $itemnumber1); |
| 366 |
|
| 367 |
$dbh->do('INSERT INTO aqorders (biblionumber, budget_id) VALUES (?, ?)', undef, $source_biblionumber, $budget_id); |
| 368 |
my $ordernumber2 = $dbh->last_insert_id(undef, undef, 'aqorders', 'ordernumber'); |
| 369 |
$dbh->do('INSERT INTO aqorders_items (ordernumber, itemnumber) VALUES (?, ?)', undef, $ordernumber2, $source_biblionumber); |
| 370 |
|
| 371 |
my $reserve_id1 = C4::Reserves::AddReserve({ |
| 372 |
branch => $library->branchcode, |
| 373 |
borrowernumber => $borrowernumber, |
| 374 |
biblionumber => $source_biblionumber, |
| 375 |
itemnumber => $itemnumber1, |
| 376 |
title => 'title' |
| 377 |
}); |
| 378 |
|
| 379 |
my $reserve_id2 = C4::Reserves::AddReserve({ |
| 380 |
branch => $library->branchcode, |
| 381 |
borrowernumber => $patron->borrowernumber, |
| 382 |
biblionumber => $source_biblionumber, |
| 383 |
itemnumber => $itemnumber2, |
| 384 |
title => 'title' |
| 385 |
}); |
| 386 |
|
| 387 |
$dbh->do("INSERT INTO tmp_holdsqueue (surname,borrowernumber,itemnumber,biblionumber) VALUES ('Clamp',?,?,?)", undef, $borrowernumber, $itemnumber1, $source_biblionumber); |
| 388 |
$dbh->do("INSERT INTO tmp_holdsqueue (surname,borrowernumber,itemnumber,biblionumber) VALUES ('Clamp',?,?,?)", undef, $borrowernumber, $itemnumber2, $source_biblionumber); |
| 389 |
|
| 390 |
$dbh->do('INSERT INTO hold_fill_targets (borrowernumber,itemnumber,biblionumber) VALUES (?,?,?)', undef, $borrowernumber, $itemnumber1, $source_biblionumber); |
| 391 |
$dbh->do('INSERT INTO hold_fill_targets (borrowernumber,itemnumber,biblionumber) VALUES (?,?,?)', undef, $borrowernumber, $itemnumber2, $source_biblionumber); |
| 392 |
|
| 393 |
$dbh->do('INSERT INTO linktracker (borrowernumber,itemnumber,biblionumber) VALUES (?,?,?)', undef, $borrowernumber, $itemnumber1, $source_biblionumber); |
| 394 |
$dbh->do('INSERT INTO linktracker (borrowernumber,itemnumber,biblionumber) VALUES (?,?,?)', undef, $borrowernumber, $itemnumber2, $source_biblionumber); |
| 395 |
|
| 396 |
$item1->move_to_biblio($target_biblio); |
| 397 |
|
| 398 |
my @result = $dbh->selectrow_array('SELECT biblionumber FROM items WHERE itemnumber = ?', undef, $itemnumber1); |
| 399 |
is($result[0], $target_biblio->biblionumber, 'Correct biblionumber in the moved item'); |
| 400 |
|
| 401 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM items WHERE itemnumber = ?', undef, $itemnumber2); |
| 402 |
is($result[0], $source_biblionumber, 'Correct biblionumber in the unmoved item'); |
| 403 |
|
| 404 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM aqorders WHERE ordernumber = ?', undef, $ordernumber1); |
| 405 |
is($result[0], $target_biblio->biblionumber, 'Correct biblionumber in aqorders for order with the moved item'); |
| 406 |
|
| 407 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM aqorders WHERE ordernumber = ?', undef, $ordernumber2); |
| 408 |
is($result[0], $source_biblionumber, 'Correct biblionumber in aqorders for order with the unmoved item'); |
| 409 |
|
| 410 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM reserves WHERE reserve_id = ?', undef, $reserve_id1); |
| 411 |
is($result[0], $target_biblio->biblionumber, 'Correct biblionumber in reserves for moved item'); |
| 412 |
|
| 413 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM reserves WHERE reserve_id = ?', undef, $reserve_id2); |
| 414 |
is($result[0], $source_biblionumber, 'Correct biblionumber in reserves for unmoved item'); |
| 415 |
|
| 416 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM tmp_holdsqueue WHERE itemnumber = ?', undef, $itemnumber1); |
| 417 |
is($result[0], $target_biblio->biblionumber, 'Correct biblionumber in tmp_holdsqueue for moved item'); |
| 418 |
|
| 419 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM tmp_holdsqueue WHERE itemnumber = ?', undef, $itemnumber2); |
| 420 |
is($result[0], $source_biblionumber, 'Correct biblionumber in tmp_holdsqueue for unmoved item'); |
| 421 |
|
| 422 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM hold_fill_targets WHERE itemnumber = ?', undef, $itemnumber1); |
| 423 |
is($result[0], $target_biblio->biblionumber, 'Correct biblionumber in hold_fill_targets for moved item'); |
| 424 |
|
| 425 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM hold_fill_targets WHERE itemnumber = ?', undef, $itemnumber2); |
| 426 |
is($result[0], $source_biblionumber, 'Correct biblionumber in hold_fill_targets for unmoved item'); |
| 427 |
|
| 428 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM linktracker WHERE itemnumber = ?', undef, $itemnumber1); |
| 429 |
is($result[0], $target_biblio->biblionumber, 'Correct biblionumber in linktracker for moved item'); |
| 430 |
|
| 431 |
@result = $dbh->selectrow_array('SELECT biblionumber FROM linktracker WHERE itemnumber = ?', undef, $itemnumber2); |
| 432 |
is($result[0], $source_biblionumber, 'Correct biblionumber in linktracker for unmoved item'); |
| 433 |
|
| 434 |
$schema->storage->txn_rollback; |
| 435 |
}; |