| 
      
            Lines 19-25
          
      
      
        Link Here
      
     | 
  
        
          | 19 | 
           | 
          19 | 
           | 
        
        
          | 20 | 
          use Modern::Perl;  | 
          20 | 
          use Modern::Perl;  | 
        
        
          | 21 | 
           | 
          21 | 
           | 
        
          
            
              | 22 | 
              use Test::More tests => 9;  | 
              22 | 
              use Test::More tests => 12;  | 
            
        
          | 23 | 
          use Test::Exception;  | 
          23 | 
          use Test::Exception;  | 
        
        
          | 24 | 
          use Test::Warn;  | 
          24 | 
          use Test::Warn;  | 
        
        
          | 25 | 
           | 
          25 | 
           | 
        
  
    | 
      
            Lines 831-833
          subtest 'can_request_article() tests' => sub {
      
      
        Link Here
      
     | 
  
        
          | 831 | 
           | 
          831 | 
           | 
        
        
          | 832 | 
              $schema->storage->txn_rollback;  | 
          832 | 
              $schema->storage->txn_rollback;  | 
        
        
          | 833 | 
          };  | 
          833 | 
          };  | 
        
          
            
              | 834 | 
              -   | 
              834 | 
               | 
            
            
               | 
               | 
              835 | 
              subtest 'article_requests() tests' => sub { | 
            
            
              | 836 | 
               | 
            
            
              | 837 | 
                  plan tests => 3;  | 
            
            
              | 838 | 
               | 
            
            
              | 839 | 
                  $schema->storage->txn_begin;  | 
            
            
              | 840 | 
               | 
            
            
              | 841 | 
                  my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); | 
            
            
              | 842 | 
               | 
            
            
              | 843 | 
                  my $article_requests = $patron->article_requests;  | 
            
            
              | 844 | 
                  is( ref($article_requests), 'Koha::ArticleRequests',  | 
            
            
              | 845 | 
                      'In scalar context, type is correct' );  | 
            
            
              | 846 | 
                  is( $article_requests->count, 0, 'No article requests' );  | 
            
            
              | 847 | 
               | 
            
            
              | 848 | 
                  foreach my $i ( 0 .. 3 ) { | 
            
            
              | 849 | 
               | 
            
            
              | 850 | 
                      my $item = $builder->build_sample_item;  | 
            
            
              | 851 | 
               | 
            
            
              | 852 | 
                      Koha::ArticleRequest->new(  | 
            
            
              | 853 | 
                          { | 
            
            
              | 854 | 
                              borrowernumber => $patron->id,  | 
            
            
              | 855 | 
                              biblionumber   => $item->biblionumber,  | 
            
            
              | 856 | 
                              itemnumber     => $item->id,  | 
            
            
              | 857 | 
                              title          => "Title",  | 
            
            
              | 858 | 
                          }  | 
            
            
              | 859 | 
                      )->request;  | 
            
            
              | 860 | 
                  }  | 
            
            
              | 861 | 
               | 
            
            
              | 862 | 
                  $article_requests = $patron->article_requests;  | 
            
            
              | 863 | 
                  is( $article_requests->count, 4, '4 article requests' );  | 
            
            
              | 864 | 
               | 
            
            
              | 865 | 
                  $schema->storage->txn_rollback;  | 
            
            
              | 866 | 
              };  | 
            
            
              | 867 | 
               | 
            
            
              | 868 | 
              subtest 'article_requests_current() tests' => sub { | 
            
            
              | 869 | 
               | 
            
            
              | 870 | 
                  plan tests => 7;  | 
            
            
              | 871 | 
               | 
            
            
              | 872 | 
                  $schema->storage->txn_begin;  | 
            
            
              | 873 | 
               | 
            
            
              | 874 | 
                  my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); | 
            
            
              | 875 | 
                  my $item   = $builder->build_sample_item;  | 
            
            
              | 876 | 
               | 
            
            
              | 877 | 
                  my $article_request = Koha::ArticleRequest->new(  | 
            
            
              | 878 | 
                      { | 
            
            
              | 879 | 
                          borrowernumber => $patron->id,  | 
            
            
              | 880 | 
                          biblionumber   => $item->biblionumber,  | 
            
            
              | 881 | 
                          itemnumber     => $item->itemnumber,  | 
            
            
              | 882 | 
                          title          => "Boo",  | 
            
            
              | 883 | 
                      }  | 
            
            
              | 884 | 
                  )->request();  | 
            
            
              | 885 | 
               | 
            
            
              | 886 | 
                  my $ar = $patron->article_requests();  | 
            
            
              | 887 | 
                  is( ref($ar), 'Koha::ArticleRequests',  | 
            
            
              | 888 | 
                      '$patron->article_requests returns Koha::ArticleRequests object' );  | 
            
            
              | 889 | 
                  is( $ar->next->id, $article_request->id,  | 
            
            
              | 890 | 
                      'Returned article request matches' );  | 
            
            
              | 891 | 
               | 
            
            
              | 892 | 
                  is( $patron->article_requests_current()->count(),  | 
            
            
              | 893 | 
                      1, 'Open request returned for article_requests_current' );  | 
            
            
              | 894 | 
                  $article_request->set_pending();  | 
            
            
              | 895 | 
                  is( $patron->article_requests_current()->count(),  | 
            
            
              | 896 | 
                      1, 'Pending request returned for article_requests_current' );  | 
            
            
              | 897 | 
                  $article_request->process();  | 
            
            
              | 898 | 
                  is( $patron->article_requests_current()->count(),  | 
            
            
              | 899 | 
                      1, 'Processing request returned for article_requests_current' );  | 
            
            
              | 900 | 
                  $article_request->complete();  | 
            
            
              | 901 | 
                  is( $patron->article_requests_current()->count(),  | 
            
            
              | 902 | 
                      0, 'Completed request not returned for article_requests_current' );  | 
            
            
              | 903 | 
                  $article_request->cancel();  | 
            
            
              | 904 | 
                  is( $patron->article_requests_current()->count(),  | 
            
            
              | 905 | 
                      0, 'Canceled request not returned for article_requests_current' );  | 
            
            
              | 906 | 
               | 
            
            
              | 907 | 
                  $schema->storage->txn_rollback;  | 
            
            
              | 908 | 
              };  | 
            
            
              | 909 | 
               | 
            
            
              | 910 | 
              subtest 'article_requests_finished() tests' => sub { | 
            
            
              | 911 | 
               | 
            
            
              | 912 | 
                  plan tests => 7;  | 
            
            
              | 913 | 
               | 
            
            
              | 914 | 
                  $schema->storage->txn_begin;  | 
            
            
              | 915 | 
               | 
            
            
              | 916 | 
                  my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); | 
            
            
              | 917 | 
                  my $item   = $builder->build_sample_item;  | 
            
            
              | 918 | 
               | 
            
            
              | 919 | 
                  my $article_request = Koha::ArticleRequest->new(  | 
            
            
              | 920 | 
                      { | 
            
            
              | 921 | 
                          borrowernumber => $patron->id,  | 
            
            
              | 922 | 
                          biblionumber   => $item->biblionumber,  | 
            
            
              | 923 | 
                          itemnumber     => $item->itemnumber,  | 
            
            
              | 924 | 
                          title          => "Boo",  | 
            
            
              | 925 | 
                      }  | 
            
            
              | 926 | 
                  )->request();  | 
            
            
              | 927 | 
               | 
            
            
              | 928 | 
                  my $ar = $patron->article_requests();  | 
            
            
              | 929 | 
                  is( ref($ar), 'Koha::ArticleRequests',  | 
            
            
              | 930 | 
                      '$patron->article_requests returns Koha::ArticleRequests object' );  | 
            
            
              | 931 | 
                  is( $ar->next->id, $article_request->id,  | 
            
            
              | 932 | 
                      'Returned article request matches' );  | 
            
            
              | 933 | 
               | 
            
            
              | 934 | 
                  is( $patron->article_requests_finished->count,  | 
            
            
              | 935 | 
                      0, 'Open request returned for article_requests_finished' );  | 
            
            
              | 936 | 
                  $article_request->set_pending();  | 
            
            
              | 937 | 
                  is( $patron->article_requests_finished->count,  | 
            
            
              | 938 | 
                      0, 'Pending request returned for article_requests_finished' );  | 
            
            
              | 939 | 
                  $article_request->process();  | 
            
            
              | 940 | 
                  is( $patron->article_requests_finished->count,  | 
            
            
              | 941 | 
                      0, 'Processing request returned for article_requests_finished' );  | 
            
            
              | 942 | 
                  $article_request->complete();  | 
            
            
              | 943 | 
                  is( $patron->article_requests_finished->count,  | 
            
            
              | 944 | 
                      1, 'Completed request returned for article_requests_finished' );  | 
            
            
              | 945 | 
                  $article_request->cancel();  | 
            
            
              | 946 | 
                  is( $patron->article_requests_finished->count,  | 
            
            
              | 947 | 
                      1, 'Cancelled request not returned for article_requests_finished' );  | 
            
            
              | 948 | 
               | 
            
            
              | 949 | 
                  $schema->storage->txn_rollback;  | 
            
            
              | 950 | 
              };  |