Lines 15-21
Link Here
|
15 |
# with Koha; if not, see <http://www.gnu.org/licenses>. |
15 |
# with Koha; if not, see <http://www.gnu.org/licenses>. |
16 |
|
16 |
|
17 |
use Modern::Perl; |
17 |
use Modern::Perl; |
18 |
use Test::More tests => 10; |
18 |
use Test::More tests => 11; |
19 |
use C4::Context; |
19 |
use C4::Context; |
20 |
|
20 |
|
21 |
use C4::Members; |
21 |
use C4::Members; |
Lines 52-57
my $branch = $builder->build({
Link Here
|
52 |
source => 'Branch', |
52 |
source => 'Branch', |
53 |
}); |
53 |
}); |
54 |
|
54 |
|
|
|
55 |
my $branch2 = $builder->build({ |
56 |
source => 'Branch', |
57 |
}); |
58 |
|
55 |
my $category = $builder->build({ |
59 |
my $category = $builder->build({ |
56 |
source => 'Category', |
60 |
source => 'Category', |
57 |
}); |
61 |
}); |
Lines 583-588
subtest 'General vs specific rules limit quantity correctly' => sub {
Link Here
|
583 |
} |
587 |
} |
584 |
); |
588 |
); |
585 |
|
589 |
|
|
|
590 |
t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'homebranch'); |
591 |
|
586 |
is( |
592 |
is( |
587 |
C4::Circulation::TooMany( $patron, $branch_item ), |
593 |
C4::Circulation::TooMany( $patron, $branch_item ), |
588 |
undef, |
594 |
undef, |
Lines 655-661
subtest 'General vs specific rules limit quantity correctly' => sub {
Link Here
|
655 |
'We are only allowed one for general rule, and have checked out two at this branch' |
661 |
'We are only allowed one for general rule, and have checked out two at this branch' |
656 |
); |
662 |
); |
657 |
|
663 |
|
658 |
my $branch2 = $builder->build({source => 'Branch',}); |
|
|
659 |
t::lib::Mocks::mock_userenv({ branchcode => $branch2->{branchcode} }); |
664 |
t::lib::Mocks::mock_userenv({ branchcode => $branch2->{branchcode} }); |
660 |
is_deeply( |
665 |
is_deeply( |
661 |
C4::Circulation::TooMany( $patron, $item_2 ), |
666 |
C4::Circulation::TooMany( $patron, $item_2 ), |
Lines 977-982
subtest 'itemtype group tests' => sub {
Link Here
|
977 |
teardown(); |
982 |
teardown(); |
978 |
}; |
983 |
}; |
979 |
|
984 |
|
|
|
985 |
subtest 'HomeOrHoldingBranch is used' => sub { |
986 |
plan tests => 2; |
987 |
|
988 |
t::lib::Mocks::mock_preference( 'CircControl', 'ItemHomeLibrary' ); |
989 |
|
990 |
my $item_1 = $builder->build_sample_item( |
991 |
{ |
992 |
homebranch => $branch->{branchcode}, |
993 |
holdingbranch => $branch2->{branchcode}, |
994 |
} |
995 |
); |
996 |
|
997 |
Koha::CirculationRules->set_rules( |
998 |
{ |
999 |
branchcode => $branch->{branchcode}, |
1000 |
categorycode => undef, |
1001 |
itemtype => undef, |
1002 |
rules => { |
1003 |
maxissueqty => 0, |
1004 |
} |
1005 |
} |
1006 |
); |
1007 |
|
1008 |
Koha::CirculationRules->set_rules( |
1009 |
{ |
1010 |
branchcode => $branch2->{branchcode}, |
1011 |
categorycode => undef, |
1012 |
itemtype => undef, |
1013 |
rules => { |
1014 |
maxissueqty => 1, |
1015 |
} |
1016 |
} |
1017 |
); |
1018 |
|
1019 |
t::lib::Mocks::mock_userenv({ branchcode => $branch2->{branchcode} }); |
1020 |
my $issue = C4::Circulation::AddIssue( $patron, $item_1->barcode, dt_from_string() ); |
1021 |
|
1022 |
t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'homebranch'); |
1023 |
|
1024 |
is_deeply( |
1025 |
C4::Circulation::TooMany( $patron, $item_1 ), |
1026 |
{ |
1027 |
reason => 'TOO_MANY_CHECKOUTS', |
1028 |
max_allowed => 0, |
1029 |
count => 1, |
1030 |
}, |
1031 |
'We are allowed zero issues from the homebranch specifically' |
1032 |
); |
1033 |
|
1034 |
t::lib::Mocks::mock_preference('HomeOrHoldingBranch', 'holdingbranch'); |
1035 |
|
1036 |
is_deeply( |
1037 |
C4::Circulation::TooMany( $patron, $item_1 ), |
1038 |
{ |
1039 |
reason => 'TOO_MANY_CHECKOUTS', |
1040 |
max_allowed => 1, |
1041 |
count => 1, |
1042 |
}, |
1043 |
'We are allowed one issue from the holdingbranch specifically' |
1044 |
); |
1045 |
|
1046 |
teardown(); |
1047 |
}; |
1048 |
|
980 |
$schema->storage->txn_rollback; |
1049 |
$schema->storage->txn_rollback; |
981 |
|
1050 |
|
982 |
sub teardown { |
1051 |
sub teardown { |
983 |
- |
|
|