Lines 206-212
subtest "Tests for needs_advancing." => sub {
Link Here
|
206 |
}; |
206 |
}; |
207 |
|
207 |
|
208 |
subtest "Tests for advance." => sub { |
208 |
subtest "Tests for advance." => sub { |
209 |
plan tests => 15; |
209 |
plan tests => 23; |
210 |
$schema->storage->txn_begin; |
210 |
$schema->storage->txn_begin; |
211 |
|
211 |
|
212 |
my $sritem = $builder->build({ |
212 |
my $sritem = $builder->build({ |
Lines 259-280
subtest "Tests for advance." => sub {
Link Here
|
259 |
$dbitem = Koha::StockRotationItems->find($sritem->{itemnumber_id}); |
259 |
$dbitem = Koha::StockRotationItems->find($sritem->{itemnumber_id}); |
260 |
## Test results |
260 |
## Test results |
261 |
is($dbitem->stage->stage_id, $dbstage2->stage_id, "Stage updated."); |
261 |
is($dbitem->stage->stage_id, $dbstage2->stage_id, "Stage updated."); |
|
|
262 |
is( |
263 |
$dbitem->itemnumber->homebranch, |
264 |
$dbstage2->branchcode_id, |
265 |
"Item homebranch updated" |
266 |
); |
262 |
my $intransfer = $dbitem->itemnumber->get_transfer; |
267 |
my $intransfer = $dbitem->itemnumber->get_transfer; |
263 |
is($intransfer->frombranch, $dbstage->branchcode_id, "Origin correct."); |
268 |
is($intransfer->frombranch, $dbstage->branchcode_id, "Origin correct."); |
264 |
is($intransfer->tobranch, $dbstage2->branchcode_id, "Target Correct."); |
269 |
is($intransfer->tobranch, $dbstage2->branchcode_id, "Target Correct."); |
265 |
|
270 |
|
|
|
271 |
# Arrive at new branch |
272 |
$intransfer->datearrived(DateTime->now)->store; |
273 |
$dbitem->itemnumber->holdingbranch($srstage->{branchcode_id})->store; |
274 |
|
275 |
# Test a cyclical advance |
276 |
ok($dbitem->advance, "Cyclical advancement done."); |
277 |
## Refetch dbitem |
278 |
$dbitem = Koha::StockRotationItems->find($sritem->{itemnumber_id}); |
279 |
## Test results |
280 |
is($dbitem->stage->stage_id, $dbstage->stage_id, "Stage updated."); |
281 |
is( |
282 |
$dbitem->itemnumber->homebranch, |
283 |
$dbstage->branchcode_id, |
284 |
"Item homebranch updated" |
285 |
); |
286 |
$intransfer = $dbitem->itemnumber->get_transfer; |
287 |
is($intransfer->frombranch, $dbstage2->branchcode_id, "Origin correct."); |
288 |
is($intransfer->tobranch, $dbstage->branchcode_id, "Target correct."); |
289 |
|
290 |
# Arrive at new branch |
291 |
$intransfer->datearrived(DateTime->now)->store; |
292 |
$dbitem->itemnumber->holdingbranch($srstage->{branchcode_id})->store; |
293 |
|
266 |
$dbstage->rota->cyclical(0)->store; # Set Rota to non-cyclical. |
294 |
$dbstage->rota->cyclical(0)->store; # Set Rota to non-cyclical. |
267 |
|
295 |
|
|
|
296 |
# Advance again, to end of rota. |
297 |
ok($dbitem->advance, "Non-cyclical advance to last stage."); |
298 |
|
268 |
# Arrive at new branch |
299 |
# Arrive at new branch |
269 |
$intransfer->datearrived(DateTime->now)->store; |
300 |
$intransfer->datearrived(DateTime->now)->store; |
270 |
$dbitem->itemnumber->holdingbranch($srstage->{branchcode_id})->store; |
301 |
$dbitem->itemnumber->holdingbranch($srstage->{branchcode_id})->store; |
271 |
$dbitem->itemnumber->homebranch($srstage->{branchcode_id})->store; |
|
|
272 |
|
302 |
|
273 |
# Advance again, Remove from rota. |
303 |
# Advance again, Remove from rota. |
274 |
ok($dbitem->advance, "Non-cyclical advance."); |
304 |
ok($dbitem->advance, "Non-cyclical advance."); |
275 |
## Refetch dbitem |
305 |
## Refetch dbitem |
276 |
$dbitem = Koha::StockRotationItems->find($sritem->{itemnumber_id}); |
306 |
$dbitem = Koha::StockRotationItems->find($sritem->{itemnumber_id}); |
277 |
is($dbitem, undef, "StockRotationItem has been removed."); |
307 |
is($dbitem, undef, "StockRotationItem has been removed."); |
|
|
308 |
my $item = Koha::Items->find($sritem->{itemnumber_id}); |
309 |
is($item->homebranch, $srstage->{branchcode_id}, "Item homebranch remains"); |
278 |
|
310 |
|
279 |
$schema->storage->txn_rollback; |
311 |
$schema->storage->txn_rollback; |
280 |
}; |
312 |
}; |
281 |
- |
|
|