Lines 214-220
subtest 'bundle_host tests' => sub {
Link Here
|
214 |
}; |
214 |
}; |
215 |
|
215 |
|
216 |
subtest 'add_to_bundle tests' => sub { |
216 |
subtest 'add_to_bundle tests' => sub { |
217 |
plan tests => 11; |
217 |
plan tests => 12; |
218 |
|
218 |
|
219 |
$schema->storage->txn_begin; |
219 |
$schema->storage->txn_begin; |
220 |
|
220 |
|
Lines 263-268
subtest 'add_to_bundle tests' => sub {
Link Here
|
263 |
'Koha::Exceptions::Item::Bundle::IsBundle', |
263 |
'Koha::Exceptions::Item::Bundle::IsBundle', |
264 |
'Exception thrown if you try to add a bundle host to a bundle item'; |
264 |
'Exception thrown if you try to add a bundle host to a bundle item'; |
265 |
|
265 |
|
|
|
266 |
C4::Circulation::AddIssue( $patron->unblessed, $host_item->barcode ); |
267 |
throws_ok { $host_item->add_to_bundle($bundle_item2) } |
268 |
'Koha::Exceptions::Item::Bundle::BundleIsCheckedOut', |
269 |
'Exception thrown if you try to add an item to a checked out bundle'; |
270 |
C4::Circulation::AddReturn( $host_item->barcode, $host_item->homebranch ); |
271 |
$host_item->discard_changes; |
272 |
|
266 |
C4::Circulation::AddIssue( $patron->unblessed, $bundle_item2->barcode ); |
273 |
C4::Circulation::AddIssue( $patron->unblessed, $bundle_item2->barcode ); |
267 |
throws_ok { $host_item->add_to_bundle($bundle_item2) } |
274 |
throws_ok { $host_item->add_to_bundle($bundle_item2) } |
268 |
'Koha::Exceptions::Item::Bundle::ItemIsCheckedOut', |
275 |
'Koha::Exceptions::Item::Bundle::ItemIsCheckedOut', |
Lines 286-304
subtest 'add_to_bundle tests' => sub {
Link Here
|
286 |
}; |
293 |
}; |
287 |
|
294 |
|
288 |
subtest 'remove_from_bundle tests' => sub { |
295 |
subtest 'remove_from_bundle tests' => sub { |
289 |
plan tests => 3; |
296 |
plan tests => 4; |
290 |
|
297 |
|
291 |
$schema->storage->txn_begin; |
298 |
$schema->storage->txn_begin; |
292 |
|
299 |
|
293 |
my $host_item = $builder->build_sample_item(); |
300 |
my $host_item = $builder->build_sample_item(); |
294 |
my $bundle_item1 = $builder->build_sample_item({ notforloan => 1 }); |
301 |
my $bundle_item1 = $builder->build_sample_item({ notforloan => 1 }); |
295 |
$schema->resultset('ItemBundle') |
302 |
$host_item->add_to_bundle($bundle_item1); |
296 |
->create( |
303 |
|
297 |
{ host => $host_item->itemnumber, item => $bundle_item1->itemnumber } ); |
304 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
|
|
305 |
t::lib::Mocks::mock_userenv( { branchcode => $patron->branchcode } ); |
306 |
|
307 |
C4::Circulation::AddIssue( $patron->unblessed, $host_item->barcode ); |
308 |
throws_ok { $bundle_item1->remove_from_bundle } |
309 |
'Koha::Exceptions::Item::Bundle::BundleIsCheckedOut', |
310 |
'Exception thrown if you try to add an item to a checked out bundle'; |
311 |
my ( $doreturn, $messages, $issue ) = C4::Circulation::AddReturn( $host_item->barcode, $host_item->homebranch ); |
312 |
$bundle_item1->discard_changes; |
298 |
|
313 |
|
299 |
is($bundle_item1->remove_from_bundle(), 1, 'remove_from_bundle returns 1 when item is removed from a bundle'); |
314 |
is($bundle_item1->remove_from_bundle(), 1, 'remove_from_bundle returns 1 when item is removed from a bundle'); |
300 |
is($bundle_item1->notforloan, 0, 'remove_from_bundle resets notforloan to 0'); |
315 |
is($bundle_item1->notforloan, 0, 'remove_from_bundle resets notforloan to 0'); |
301 |
$bundle_item1 = $bundle_item1->get_from_storage; |
316 |
$bundle_item1->discard_changes; |
302 |
is($bundle_item1->remove_from_bundle(), 0, 'remove_from_bundle returns 0 when item is not in a bundle'); |
317 |
is($bundle_item1->remove_from_bundle(), 0, 'remove_from_bundle returns 0 when item is not in a bundle'); |
303 |
|
318 |
|
304 |
$schema->storage->txn_rollback; |
319 |
$schema->storage->txn_rollback; |
305 |
- |
|
|