Lines 16-24
Link Here
|
16 |
|
16 |
|
17 |
use Modern::Perl; |
17 |
use Modern::Perl; |
18 |
|
18 |
|
19 |
use Test::More tests => 17; |
19 |
use Test::More tests => 18; |
20 |
|
20 |
|
21 |
use C4::Context; |
21 |
use C4::Context; |
|
|
22 |
use C4::Biblio qw(AddBiblio); |
23 |
use C4::Items qw(AddItem); |
22 |
use Koha::Database; |
24 |
use Koha::Database; |
23 |
|
25 |
|
24 |
use t::lib::TestBuilder; |
26 |
use t::lib::TestBuilder; |
Lines 94-96
$libraries = $plugin->all();
Link Here
|
94 |
is( scalar(@$libraries), 1, 'If IndependentBranches is set, only 1 library should be returned' ); |
96 |
is( scalar(@$libraries), 1, 'If IndependentBranches is set, only 1 library should be returned' ); |
95 |
$libraries = $plugin->all( { unfiltered => 1 } ); |
97 |
$libraries = $plugin->all( { unfiltered => 1 } ); |
96 |
ok( scalar(@$libraries) > 1, 'If IndependentBranches is set, all libraries should be returned if the unfiltered flag is set' ); |
98 |
ok( scalar(@$libraries) > 1, 'If IndependentBranches is set, all libraries should be returned if the unfiltered flag is set' ); |
97 |
- |
99 |
|
|
|
100 |
subtest 'UseBranchTransferLimits = OFF' => sub { |
101 |
plan tests => 5; |
102 |
|
103 |
my $from = Koha::Library->new({ |
104 |
branchcode => 'zzzfrom', |
105 |
branchname => 'zzzfrom', |
106 |
branchnotes => 'zzzfrom', |
107 |
})->store; |
108 |
my $to = Koha::Library->new({ |
109 |
branchcode => 'zzzto', |
110 |
branchname => 'zzzto', |
111 |
branchnotes => 'zzzto', |
112 |
})->store; |
113 |
|
114 |
my ($bibnum, $title, $bibitemnum) = create_helper_biblio('DUMMY'); |
115 |
# Create item instance for testing. |
116 |
my ($item_bibnum1, $item_bibitemnum1, $itemnumber1) |
117 |
= AddItem({ homebranch => $from->branchcode, |
118 |
holdingbranch => $from->branchcode } , $bibnum); |
119 |
my ($item_bibnum2, $item_bibitemnum2, $itemnumber2) |
120 |
= AddItem({ homebranch => $from->branchcode, |
121 |
holdingbranch => $from->branchcode } , $bibnum); |
122 |
my ($item_bibnum3, $item_bibitemnum3, $itemnumber3) |
123 |
= AddItem({ homebranch => $from->branchcode, |
124 |
holdingbranch => $from->branchcode } , $bibnum); |
125 |
my $biblio = Koha::Biblios->find($bibnum); |
126 |
|
127 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 0); |
128 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'itemtype'); |
129 |
t::lib::Mocks::mock_preference('item-level_itypes', 1); |
130 |
Koha::Item::Transfer::Limits->delete; |
131 |
Koha::Item::Transfer::Limit->new({ |
132 |
fromBranch => $from->branchcode, |
133 |
toBranch => $to->branchcode, |
134 |
itemtype => $biblio->itemtype, |
135 |
})->store; |
136 |
my $total_pickup = Koha::Libraries->search({ |
137 |
pickup_location => 1 |
138 |
})->count; |
139 |
|
140 |
# Test TT plugin |
141 |
my $pickup = Koha::Template::Plugin::Branches::pickup_locations({ biblio => $bibnum }); |
142 |
is(C4::Context->preference('UseBranchTransferLimits'), 0, 'Given system ' |
143 |
.'preference UseBranchTransferLimits is switched OFF,'); |
144 |
is(@{$pickup}, $total_pickup, 'Then the total number of pickup locations ' |
145 |
.'equal number of libraries with pickup_location => 1'); |
146 |
|
147 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'itemtype'); |
148 |
t::lib::Mocks::mock_preference('item-level_itypes', 1); |
149 |
$pickup = Koha::Template::Plugin::Branches::pickup_locations({ biblio => $bibnum }); |
150 |
is(@{$pickup}, $total_pickup, '...when ' |
151 |
.'BranchTransferLimitsType = itemtype and item-level_itypes = 1'); |
152 |
t::lib::Mocks::mock_preference('item-level_itypes', 0); |
153 |
$pickup = Koha::Template::Plugin::Branches::pickup_locations({ biblio => $bibnum }); |
154 |
is(@{$pickup}, $total_pickup, '...as well as when ' |
155 |
.'BranchTransferLimitsType = itemtype and item-level_itypes = 0'); |
156 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'ccode'); |
157 |
$pickup = Koha::Template::Plugin::Branches::pickup_locations({ biblio => $bibnum }); |
158 |
is(@{$pickup}, $total_pickup, '...as well as when ' |
159 |
.'BranchTransferLimitsType = ccode'); |
160 |
|
161 |
t::lib::Mocks::mock_preference('item-level_itypes', 1); |
162 |
}; |
163 |
|
164 |
sub create_helper_biblio { |
165 |
my $itemtype = shift; |
166 |
my ($bibnum, $title, $bibitemnum); |
167 |
my $bib = MARC::Record->new(); |
168 |
$title = 'Silence in the library'; |
169 |
$bib->append_fields( |
170 |
MARC::Field->new('100', ' ', ' ', a => 'Moffat, Steven'), |
171 |
MARC::Field->new('245', ' ', ' ', a => $title), |
172 |
MARC::Field->new('942', ' ', ' ', c => $itemtype), |
173 |
); |
174 |
return ($bibnum, $title, $bibitemnum) = AddBiblio($bib, ''); |
175 |
} |