| 
      
            Lines 37-43
          use Koha::Patrons;
      
      
        Link Here
      
     | 
  
        
          | 37 | 
          use Koha::Library::Groups;  | 
          37 | 
          use Koha::Library::Groups;  | 
        
        
          | 38 | 
           | 
          38 | 
           | 
        
        
          | 39 | 
          use JSON;  | 
          39 | 
          use JSON;  | 
        
          
            
              | 40 | 
              use Scalar::Util qw( isvstring );  | 
              40 | 
              use Scalar::Util qw( isvstring refaddr );  | 
            
        
          | 41 | 
          use Try::Tiny;  | 
          41 | 
          use Try::Tiny;  | 
        
        
          | 42 | 
           | 
          42 | 
           | 
        
        
          | 43 | 
          use t::lib::TestBuilder;  | 
          43 | 
          use t::lib::TestBuilder;  | 
        
  
    | 
      
            Lines 152-182
          subtest 'get_column' => sub {
      
      
        Link Here
      
     | 
  
        
          | 152 | 
              $schema->storage->txn_rollback;  | 
          152 | 
              $schema->storage->txn_rollback;  | 
        
        
          | 153 | 
          };  | 
          153 | 
          };  | 
        
        
          | 154 | 
           | 
          154 | 
           | 
        
          
            
              | 155 | 
              subtest 'discard_changes' => sub { | 
              155 | 
              subtest 'discard_changes() tests' => sub { | 
            
            
               | 
               | 
              156 | 
               | 
            
        
          | 156 | 
              plan tests => 3;  | 
          157 | 
              plan tests => 3;  | 
        
        
          | 157 | 
           | 
          158 | 
           | 
        
        
          | 158 | 
              $schema->storage->txn_begin;  | 
          159 | 
              $schema->storage->txn_begin;  | 
        
        
          | 159 | 
           | 
          160 | 
           | 
        
          
            
              | 160 | 
                  my $patron = $builder->build( { source => 'Borrower' } ); | 
              161 | 
                  my $date_expiry = dt_from_string->add( days => 30 );  | 
            
            
              | 161 | 
                  $patron = Koha::Patrons->find( $patron->{borrowernumber} ); | 
              162 | 
               | 
            
            
               | 
               | 
              163 | 
                  my $patron = $builder->build_object(  | 
            
            
              | 164 | 
                      { | 
            
            
              | 165 | 
                          class => 'Koha::Patrons',  | 
            
            
              | 166 | 
                          value => { dateexpiry => $date_expiry } | 
            
            
              | 167 | 
                      }  | 
            
            
              | 168 | 
                  );  | 
            
        
          | 162 | 
              $patron->dateexpiry(dt_from_string);  | 
          169 | 
              $patron->dateexpiry(dt_from_string);  | 
        
          
            
              | 163 | 
                  $patron->discard_changes;  | 
              170 | 
                  my $ret = $patron->discard_changes;  | 
            
        
          | 164 | 
              is(  | 
          171 | 
              is(  | 
        
        
          | 165 | 
                  dt_from_string( $patron->dateexpiry ),  | 
          172 | 
                  dt_from_string( $patron->dateexpiry ),  | 
        
          
            
              | 166 | 
                      dt_from_string->truncate( to => 'day' ),  | 
              173 | 
                      $date_expiry->truncate( to => 'day' ),  | 
            
        
          | 167 | 
                  'discard_changes should refresh the object'  | 
          174 | 
                  'discard_changes should refresh the object'  | 
        
        
          | 168 | 
              );  | 
          175 | 
              );  | 
        
          
            
              | 169 | 
                  my $cardnumber   = $patron->cardnumber;  | 
              176 | 
                  is( ref($ret),     'Koha::Patron',   'discard_changes should return a Koha::Object object' );  | 
            
            
              | 170 | 
                  my $categorycode = $patron->categorycode;  | 
              177 | 
                  is( refaddr($ret), refaddr($patron), 'Same object referenced' );  | 
            
            
              | 171 | 
                  my $branchcode   = $patron->branchcode;  | 
               | 
               | 
            
            
              | 172 | 
                  $patron->delete;  | 
            
            
              | 173 | 
               | 
            
            
              | 174 | 
                  $patron =  | 
            
            
              | 175 | 
                      Koha::Patron->new( { cardnumber => $cardnumber, categorycode => $categorycode, branchcode => $branchcode } ) | 
            
            
              | 176 | 
                      ->store->discard_changes;  | 
            
            
              | 177 | 
               | 
            
            
              | 178 | 
                  is( ref($patron), 'Koha::Patron', 'discard_changes should return a Koha::Object object' );  | 
            
            
              | 179 | 
                  isnt( $patron->updated_on, undef, 'discard_changes should have fetched the row from the DB' );  | 
            
        
          | 180 | 
           | 
          178 | 
           | 
        
        
          | 181 | 
              $schema->storage->txn_rollback;  | 
          179 | 
              $schema->storage->txn_rollback;  | 
        
        
          | 182 | 
          };  | 
          180 | 
          };  | 
        
            
              | 183 | 
              -   | 
               | 
               |