|
Lines 212-231
subtest 'pickup_locations' => sub {
Link Here
|
| 212 |
my $patron1 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $library1->branchcode, firstname => '1' } } ); |
212 |
my $patron1 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $library1->branchcode, firstname => '1' } } ); |
| 213 |
my $patron4 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $library4->branchcode, firstname => '4' } } ); |
213 |
my $patron4 = $builder->build_object( { class => 'Koha::Patrons', value => { branchcode => $library4->branchcode, firstname => '4' } } ); |
| 214 |
|
214 |
|
| 215 |
my $all_count = Koha::Libraries->search({ pickup_location => 1})->count(); |
|
|
| 216 |
|
| 217 |
my $results = { |
215 |
my $results = { |
| 218 |
"1-1-1-any" => $all_count, |
216 |
"1-1-1-any" => 3, |
| 219 |
"1-1-1-holdgroup" => 2, |
217 |
"1-1-1-holdgroup" => 2, |
| 220 |
"1-1-1-patrongroup" => 2, |
218 |
"1-1-1-patrongroup" => 2, |
| 221 |
"1-1-1-homebranch" => 1, |
219 |
"1-1-1-homebranch" => 1, |
| 222 |
"1-1-1-holdingbranch" => 1, |
220 |
"1-1-1-holdingbranch" => 1, |
| 223 |
"1-1-2-any" => $all_count, |
221 |
"1-1-2-any" => 3, |
| 224 |
"1-1-2-holdgroup" => 2, |
222 |
"1-1-2-holdgroup" => 2, |
| 225 |
"1-1-2-patrongroup" => 2, |
223 |
"1-1-2-patrongroup" => 2, |
| 226 |
"1-1-2-homebranch" => 1, |
224 |
"1-1-2-homebranch" => 1, |
| 227 |
"1-1-2-holdingbranch" => 1, |
225 |
"1-1-2-holdingbranch" => 1, |
| 228 |
"1-1-3-any" => $all_count, |
226 |
"1-1-3-any" => 3, |
| 229 |
"1-1-3-holdgroup" => 2, |
227 |
"1-1-3-holdgroup" => 2, |
| 230 |
"1-1-3-patrongroup" => 2, |
228 |
"1-1-3-patrongroup" => 2, |
| 231 |
"1-1-3-homebranch" => 1, |
229 |
"1-1-3-homebranch" => 1, |
|
Lines 235-241
subtest 'pickup_locations' => sub {
Link Here
|
| 235 |
"1-4-1-patrongroup" => 0, |
233 |
"1-4-1-patrongroup" => 0, |
| 236 |
"1-4-1-homebranch" => 0, |
234 |
"1-4-1-homebranch" => 0, |
| 237 |
"1-4-1-holdingbranch" => 0, |
235 |
"1-4-1-holdingbranch" => 0, |
| 238 |
"1-4-2-any" => $all_count, |
236 |
"1-4-2-any" => 3, |
| 239 |
"1-4-2-holdgroup" => 2, |
237 |
"1-4-2-holdgroup" => 2, |
| 240 |
"1-4-2-patrongroup" => 1, |
238 |
"1-4-2-patrongroup" => 1, |
| 241 |
"1-4-2-homebranch" => 1, |
239 |
"1-4-2-homebranch" => 1, |
|
Lines 250-256
subtest 'pickup_locations' => sub {
Link Here
|
| 250 |
"3-1-1-patrongroup" => 0, |
248 |
"3-1-1-patrongroup" => 0, |
| 251 |
"3-1-1-homebranch" => 0, |
249 |
"3-1-1-homebranch" => 0, |
| 252 |
"3-1-1-holdingbranch" => 0, |
250 |
"3-1-1-holdingbranch" => 0, |
| 253 |
"3-1-2-any" => $all_count, |
251 |
"3-1-2-any" => 3, |
| 254 |
"3-1-2-holdgroup" => 1, |
252 |
"3-1-2-holdgroup" => 1, |
| 255 |
"3-1-2-patrongroup" => 2, |
253 |
"3-1-2-patrongroup" => 2, |
| 256 |
"3-1-2-homebranch" => 0, |
254 |
"3-1-2-homebranch" => 0, |
|
Lines 265-276
subtest 'pickup_locations' => sub {
Link Here
|
| 265 |
"3-4-1-patrongroup" => 0, |
263 |
"3-4-1-patrongroup" => 0, |
| 266 |
"3-4-1-homebranch" => 0, |
264 |
"3-4-1-homebranch" => 0, |
| 267 |
"3-4-1-holdingbranch" => 0, |
265 |
"3-4-1-holdingbranch" => 0, |
| 268 |
"3-4-2-any" => $all_count, |
266 |
"3-4-2-any" => 3, |
| 269 |
"3-4-2-holdgroup" => 1, |
267 |
"3-4-2-holdgroup" => 1, |
| 270 |
"3-4-2-patrongroup" => 1, |
268 |
"3-4-2-patrongroup" => 1, |
| 271 |
"3-4-2-homebranch" => 0, |
269 |
"3-4-2-homebranch" => 0, |
| 272 |
"3-4-2-holdingbranch" => 1, |
270 |
"3-4-2-holdingbranch" => 1, |
| 273 |
"3-4-3-any" => $all_count, |
271 |
"3-4-3-any" => 3, |
| 274 |
"3-4-3-holdgroup" => 1, |
272 |
"3-4-3-holdgroup" => 1, |
| 275 |
"3-4-3-patrongroup" => 1, |
273 |
"3-4-3-patrongroup" => 1, |
| 276 |
"3-4-3-homebranch" => 0, |
274 |
"3-4-3-homebranch" => 0, |
|
Lines 291-304
subtest 'pickup_locations' => sub {
Link Here
|
| 291 |
} |
289 |
} |
| 292 |
} |
290 |
} |
| 293 |
); |
291 |
); |
| 294 |
my @pl = $item->pickup_locations( { patron => $patron} )->as_list; |
|
|
| 295 |
my $ha_value=$ha==3?'holdgroup':($ha==2?'any':'homebranch'); |
292 |
my $ha_value=$ha==3?'holdgroup':($ha==2?'any':'homebranch'); |
| 296 |
|
293 |
|
| 297 |
foreach my $pickup_location (@pl) { |
294 |
my @pl = map { |
| 298 |
next |
295 |
my $pickup_location = $_; |
| 299 |
unless grep { $pickup_location eq $_ } @branchcodes; |
296 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 300 |
is( ref($pickup_location), 'Koha::Library', 'Object type is correct' ); |
297 |
} $item->pickup_locations( { patron => $patron } )->as_list; |
| 301 |
} |
298 |
|
| 302 |
ok( |
299 |
ok( |
| 303 |
scalar(@pl) == $results->{ |
300 |
scalar(@pl) == $results->{ |
| 304 |
$item->copynumber . '-' |
301 |
$item->copynumber . '-' |
|
Lines 374-381
subtest 'pickup_locations' => sub {
Link Here
|
| 374 |
} |
371 |
} |
| 375 |
); |
372 |
); |
| 376 |
|
373 |
|
| 377 |
my $pickup_locations = $item1->pickup_locations( { patron => $patron1 } )->as_list; |
374 |
my @pickup_locations = map { |
| 378 |
is( scalar @$pickup_locations, $all_count - 1, "With a transfer limits we get back the libraries that are pickup locations minus 1 limited library"); |
375 |
my $pickup_location = $_; |
|
|
376 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 377 |
} $item1->pickup_locations( { patron => $patron1 } )->as_list; |
| 378 |
|
| 379 |
is( scalar @pickup_locations, 3 - 1, "With a transfer limits we get back the libraries that are pickup locations minus 1 limited library"); |
| 379 |
|
380 |
|
| 380 |
$builder->build_object( |
381 |
$builder->build_object( |
| 381 |
{ |
382 |
{ |
|
Lines 389-403
subtest 'pickup_locations' => sub {
Link Here
|
| 389 |
} |
390 |
} |
| 390 |
); |
391 |
); |
| 391 |
|
392 |
|
| 392 |
$pickup_locations = $item1->pickup_locations( { patron => $patron1 } )->as_list; |
393 |
@pickup_locations = map { |
| 393 |
is( scalar @$pickup_locations, $all_count - 2, "With 2 transfer limits we get back the libraries that are pickup locations minus 2 limited libraries"); |
394 |
my $pickup_location = $_; |
|
|
395 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 396 |
} $item1->pickup_locations( { patron => $patron1 } )->as_list; |
| 394 |
|
397 |
|
| 395 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'ccode'); |
398 |
is( scalar @pickup_locations, 3 - 2, "With 2 transfer limits we get back the libraries that are pickup locations minus 2 limited libraries"); |
| 396 |
$pickup_locations = $item1->pickup_locations( { patron => $patron1 } )->as_list; |
|
|
| 397 |
is( scalar @$pickup_locations, $all_count, "With no transfer limits of type ccode we get back the libraries that are pickup locations"); |
| 398 |
|
399 |
|
| 399 |
$pickup_locations = $item_no_ccode->pickup_locations( { patron => $patron1 } )->as_list; |
400 |
t::lib::Mocks::mock_preference('BranchTransferLimitsType', 'ccode'); |
| 400 |
is( scalar @$pickup_locations, $all_count, "With no transfer limits of type ccode and an item with no ccode we get back the libraries that are pickup locations"); |
401 |
@pickup_locations = map { |
|
|
402 |
my $pickup_location = $_; |
| 403 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 404 |
} $item1->pickup_locations( { patron => $patron1 } )->as_list; |
| 405 |
is( scalar @pickup_locations, 3, "With no transfer limits of type ccode we get back the libraries that are pickup locations"); |
| 406 |
|
| 407 |
@pickup_locations = map { |
| 408 |
my $pickup_location = $_; |
| 409 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 410 |
} $item_no_ccode->pickup_locations( { patron => $patron1 } )->as_list; |
| 411 |
is( scalar @pickup_locations, 3, "With no transfer limits of type ccode and an item with no ccode we get back the libraries that are pickup locations"); |
| 401 |
|
412 |
|
| 402 |
$builder->build_object( |
413 |
$builder->build_object( |
| 403 |
{ |
414 |
{ |
|
Lines 411-418
subtest 'pickup_locations' => sub {
Link Here
|
| 411 |
} |
422 |
} |
| 412 |
); |
423 |
); |
| 413 |
|
424 |
|
| 414 |
$pickup_locations = $item1->pickup_locations( { patron => $patron1 } )->as_list; |
425 |
@pickup_locations = map { |
| 415 |
is( scalar @$pickup_locations, $all_count - 1, "With a transfer limits we get back the libraries that are pickup locations minus 1 limited library"); |
426 |
my $pickup_location = $_; |
|
|
427 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 428 |
} $item1->pickup_locations( { patron => $patron1 } )->as_list; |
| 429 |
is( scalar @pickup_locations, 3 - 1, "With a transfer limits we get back the libraries that are pickup locations minus 1 limited library"); |
| 416 |
|
430 |
|
| 417 |
$builder->build_object( |
431 |
$builder->build_object( |
| 418 |
{ |
432 |
{ |
|
Lines 426-433
subtest 'pickup_locations' => sub {
Link Here
|
| 426 |
} |
440 |
} |
| 427 |
); |
441 |
); |
| 428 |
|
442 |
|
| 429 |
$pickup_locations = $item1->pickup_locations( { patron => $patron1 } )->as_list; |
443 |
@pickup_locations = map { |
| 430 |
is( scalar @$pickup_locations, $all_count - 2, "With 2 transfer limits we get back the libraries that are pickup locations minus 2 limited libraries"); |
444 |
my $pickup_location = $_; |
|
|
445 |
grep { $pickup_location->branchcode eq $_ } @branchcodes |
| 446 |
} $item1->pickup_locations( { patron => $patron1 } )->as_list; |
| 447 |
is( scalar @pickup_locations, 3 - 2, "With 2 transfer limits we get back the libraries that are pickup locations minus 2 limited libraries"); |
| 431 |
|
448 |
|
| 432 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 0); |
449 |
t::lib::Mocks::mock_preference('UseBranchTransferLimits', 0); |
| 433 |
|
450 |
|
| 434 |
- |
|
|