| Lines 61-67
          subtest 'add() tests' => sub {
      
      
        Link Here | 
        
          | 61 |  | 61 |  | 
        
          | 62 |     subtest 'librarian access tests' => sub { | 62 |     subtest 'librarian access tests' => sub { | 
        
          | 63 |  | 63 |  | 
          
            
              | 64 |         plan tests => 8; | 64 |         plan tests => 20; | 
        
          | 65 |  | 65 |  | 
        
          | 66 |         $schema->storage->txn_begin; | 66 |         $schema->storage->txn_begin; | 
        
          | 67 |  | 67 |  | 
  
    | Lines 71-83
          subtest 'add() tests' => sub {
      
      
        Link Here | 
        
          | 71 |         my $librarian = $builder->build_object( | 71 |         my $librarian = $builder->build_object( | 
        
          | 72 |             { | 72 |             { | 
        
          | 73 |                 class => 'Koha::Patrons', | 73 |                 class => 'Koha::Patrons', | 
          
            
              | 74 |                 value => { flags => 2**6 }    # reserveforothers flag = 6 | 74 |                 value => { flags => 2 ** 6 }    # reserveforothers flag = 6 | 
        
          | 75 |             } | 75 |             } | 
        
          | 76 |         ); | 76 |         ); | 
        
          | 77 |         my $password = 'thePassword123'; | 77 |         my $password = 'thePassword123'; | 
        
          | 78 |         $librarian->set_password( { password => $password, skip_validation => 1 } ); | 78 |         $librarian->set_password( { password => $password, skip_validation => 1 } ); | 
        
          | 79 |         my $userid = $librarian->userid; | 79 |         my $userid = $librarian->userid; | 
        
          | 80 |  | 80 |  | 
            
              |  |  | 81 |         my $non_existent_item   = $builder->build_sample_item; | 
            
              | 82 |         my $non_existent_biblio = $non_existent_item->biblio; | 
            
              | 83 |  | 
            
              | 84 |         my $non_existent_item_id   = $non_existent_item->id; | 
            
              | 85 |         my $non_existent_biblio_id = $non_existent_biblio->id; | 
            
              | 86 |         my $non_existent_item_homebranch = | 
            
              | 87 |           $non_existent_item->home_branch->branchcode; | 
            
              | 88 |  | 
            
              | 89 |         $non_existent_item->delete; | 
            
              | 90 |         $non_existent_biblio->delete; | 
            
              | 91 |  | 
            
              | 92 |         my $biblio = $builder->build_sample_biblio; | 
            
              | 93 |  | 
            
              | 94 |         $t->post_ok( | 
            
              | 95 |                 "//$userid:$password@/api/v1/clubs/" | 
            
              | 96 |               . $club_with_enrollments->id | 
            
              | 97 |               . "/holds" => json => { | 
            
              | 98 |                 biblio_id         => $biblio->id, | 
            
              | 99 |                 item_id           => $item->id, | 
            
              | 100 |                 pickup_library_id => $item->home_branch->branchcode | 
            
              | 101 |               } | 
            
              | 102 |         )->status_is(400) | 
            
              | 103 |           ->json_is( '/error' => "Item " | 
            
              | 104 |               . $item->id | 
            
              | 105 |               . " doesn't belong to biblio " | 
            
              | 106 |               . $biblio->id ); | 
            
              | 107 |  | 
            
              | 108 |         $t->post_ok( | 
            
              | 109 |                 "//$userid:$password@/api/v1/clubs/" | 
            
              | 110 |               . $club_with_enrollments->id | 
            
              | 111 |               . "/holds" => json => { | 
            
              | 112 |                 pickup_library_id => $non_existent_item_homebranch | 
            
              | 113 |               } | 
            
              | 114 |         )->status_is(400) | 
            
              | 115 |           ->json_is( | 
            
              | 116 |             '/error' => 'At least one of biblio_id, item_id should be given' ); | 
            
              | 117 |  | 
            
              | 118 |         $t->post_ok( | 
            
              | 119 |                 "//$userid:$password@/api/v1/clubs/" | 
            
              | 120 |               . $club_with_enrollments->id | 
            
              | 121 |               . "/holds" => json => { | 
            
              | 122 |                 biblio_id         => $non_existent_biblio_id, | 
            
              | 123 |                 pickup_library_id => $non_existent_item_homebranch | 
            
              | 124 |               } | 
            
              | 125 |         )->status_is(404)->json_is( '/error' => 'Biblio not found' ); | 
            
              | 126 |  | 
            
              | 127 |         $t->post_ok( | 
            
              | 128 |                 "//$userid:$password@/api/v1/clubs/" | 
            
              | 129 |               . $club_with_enrollments->id | 
            
              | 130 |               . "/holds" => json => { | 
            
              | 131 |                 item_id           => $non_existent_item_id, | 
            
              | 132 |                 pickup_library_id => $non_existent_item_homebranch | 
            
              | 133 |               } | 
            
              | 134 |         )->status_is(404)->json_is( '/error' => 'Item not found' ); | 
            
              | 135 |  | 
        
          | 81 |         my $data = { | 136 |         my $data = { | 
        
          | 82 |             biblio_id         => $item->biblionumber, | 137 |             biblio_id         => $item->biblionumber, | 
        
          | 83 |             pickup_library_id => $item->home_branch->branchcode | 138 |             pickup_library_id => $item->home_branch->branchcode | 
            
              | 84 | -  |  |  |