Lines 1572-1578
subtest 'Custom statuses' => sub {
Link Here
|
1572 |
|
1572 |
|
1573 |
subtest 'Checking in hook' => sub { |
1573 |
subtest 'Checking in hook' => sub { |
1574 |
|
1574 |
|
1575 |
plan tests => 2; |
1575 |
plan tests => 6; |
1576 |
|
1576 |
|
1577 |
$schema->storage->txn_begin; |
1577 |
$schema->storage->txn_begin; |
1578 |
|
1578 |
|
Lines 1626-1631
subtest 'Checking in hook' => sub {
Link Here
|
1626 |
$illrq->discard_changes; |
1626 |
$illrq->discard_changes; |
1627 |
is( $illrq->status, 'RET' ); |
1627 |
is( $illrq->status, 'RET' ); |
1628 |
|
1628 |
|
|
|
1629 |
my $request_for_checkout_out = $builder->build_sample_ill_request(); |
1630 |
$builder->build( |
1631 |
{ |
1632 |
source => 'Illrequestattribute', |
1633 |
value => { illrequest_id => $request_for_checkout_out->illrequest_id, type => 'type', value => 'book' } |
1634 |
} |
1635 |
); |
1636 |
|
1637 |
my $newly_created_biblio = Koha::Biblios->find( { biblionumber => $request_for_checkout_out->biblio_id } ); |
1638 |
is( $newly_created_biblio->items->count, 0, 'Biblio created without items' ); |
1639 |
|
1640 |
my $itemtype = $builder->build_object( |
1641 |
{ |
1642 |
class => 'Koha::ItemTypes', |
1643 |
value => { |
1644 |
notforloan => 0, |
1645 |
rentalcharge => 0, |
1646 |
rentalcharge_daily => 1, |
1647 |
rentalcharge_daily_calendar => 0 |
1648 |
} |
1649 |
} |
1650 |
)->store; |
1651 |
|
1652 |
my $check_out = $request_for_checkout_out->check_out( |
1653 |
{ |
1654 |
'branchcode' => $request_for_checkout_out->branchcode, |
1655 |
'item_type' => $itemtype->itemtype, |
1656 |
'illrequest_id' => $request_for_checkout_out->illrequest_id, |
1657 |
'stage' => 'form', |
1658 |
} |
1659 |
); |
1660 |
|
1661 |
is( $newly_created_biblio->items->count, 1, 'A new item was created after checking out' ); |
1662 |
is( $check_out->{value}->{errors}, undef, 'No errors. Check-out was successful' ); |
1663 |
|
1664 |
# Test if biblio already has an item with no barcode |
1665 |
|
1666 |
my $another_checkout_out_request = $builder->build_sample_ill_request(); |
1667 |
$builder->build( |
1668 |
{ |
1669 |
source => 'Illrequestattribute', |
1670 |
value => { illrequest_id => $another_checkout_out_request->illrequest_id, type => 'type', value => 'book' } |
1671 |
} |
1672 |
); |
1673 |
my $another_newly_created_biblio = |
1674 |
Koha::Biblios->find( { biblionumber => $another_checkout_out_request->biblio_id } ); |
1675 |
|
1676 |
Koha::Item->new( |
1677 |
{ |
1678 |
biblionumber => $another_newly_created_biblio->biblionumber, |
1679 |
homebranch => $another_checkout_out_request->branchcode, |
1680 |
holdingbranch => $another_checkout_out_request->branchcode, |
1681 |
barcode => '' |
1682 |
} |
1683 |
)->store; |
1684 |
|
1685 |
my $another_check_out = $another_checkout_out_request->check_out( |
1686 |
{ |
1687 |
'branchcode' => $another_checkout_out_request->branchcode, |
1688 |
'item_type' => $itemtype->itemtype, |
1689 |
'illrequest_id' => $another_checkout_out_request->illrequest_id, |
1690 |
'stage' => 'form', |
1691 |
} |
1692 |
); |
1693 |
is( |
1694 |
$another_check_out->{value}->{check_out_errors}->{error}->{UNKNOWN_BARCODE}, 1, |
1695 |
'Barcode related error is set because existing item does not have a barcode' |
1696 |
); |
1697 |
|
1629 |
$schema->storage->txn_rollback; |
1698 |
$schema->storage->txn_rollback; |
1630 |
}; |
1699 |
}; |
1631 |
|
1700 |
|
1632 |
- |
|
|