| 
      
            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 | 
              -   | 
               | 
               |