| Line 0
          
      
      
        Link Here | 
          
            
              | 0 | -  | 1 | #!/usr/bin/perl | 
            
              |  |  | 2 |  | 
            
              | 3 | use Modern::Perl; | 
            
              | 4 | use Test::MockModule; | 
            
              | 5 | use Test::More tests => 18; | 
            
              | 6 |  | 
            
              | 7 | use C4::Acquisition; | 
            
              | 8 |  | 
            
              | 9 | my $C4_Acquisition_module = new Test::MockModule('C4::Acquisition'); | 
            
              | 10 | $C4_Acquisition_module->mock('GetBasket', \&Mock_GetBasket); | 
            
              | 11 | my $C4_Context_module = new Test::MockModule('C4::Context'); | 
            
              | 12 | $C4_Context_module->mock('userenv', \&Mock_userenv); | 
            
              | 13 |  | 
            
              | 14 | my $baskets = { | 
            
              | 15 |     1 => {}, | 
            
              | 16 |     2 => { | 
            
              | 17 |         branch => 'B1' | 
            
              | 18 |     }, | 
            
              | 19 |     3 => { | 
            
              | 20 |         branch => 'B2' | 
            
              | 21 |     } | 
            
              | 22 | }; | 
            
              | 23 |  | 
            
              | 24 | my $userenv = {}; | 
            
              | 25 |  | 
            
              | 26 | my $borrower = {}; | 
            
              | 27 |  | 
            
              | 28 | my $order1 = { | 
            
              | 29 |     basketno => 1 | 
            
              | 30 | }; | 
            
              | 31 | my $order2 = { | 
            
              | 32 |     basketno => 2 | 
            
              | 33 | }; | 
            
              | 34 | my $order3 = { | 
            
              | 35 |     basketno => 3 | 
            
              | 36 | }; | 
            
              | 37 |  | 
            
              | 38 | $userenv->{branch} = 'B1'; | 
            
              | 39 |  | 
            
              | 40 | ok( CanUserReceiveOrder($borrower, $order1, {superlibrarian => 1}) ); | 
            
              | 41 | ok( CanUserReceiveOrder($borrower, $order1, {acquisition => 1}) ); | 
            
              | 42 | ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive_all => 1 }}) ); | 
            
              | 43 |  | 
            
              | 44 | ok( not CanUserReceiveOrder($borrower, $order1, {}) ); | 
            
              | 45 | ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => 0}) ); | 
            
              | 46 | ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 0 }}) ); | 
            
              | 47 |  | 
            
              | 48 | ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 1 }}) ); | 
            
              | 49 | ok( CanUserReceiveOrder($borrower, $order2, {acquisition => { order_receive => 1 }}) ); | 
            
              | 50 | ok( not CanUserReceiveOrder($borrower, $order3, {acquisition => { order_receive => 1 }}) ); | 
            
              | 51 |  | 
            
              | 52 | $userenv->{branch} = 'B2'; | 
            
              | 53 |  | 
            
              | 54 | ok( CanUserReceiveOrder($borrower, $order1, {superlibrarian => 1}) ); | 
            
              | 55 | ok( CanUserReceiveOrder($borrower, $order1, {acquisition => 1}) ); | 
            
              | 56 | ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive_all => 1 }}) ); | 
            
              | 57 |  | 
            
              | 58 | ok( not CanUserReceiveOrder($borrower, $order1, {}) ); | 
            
              | 59 | ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => 0}) ); | 
            
              | 60 | ok( not CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 0 }}) ); | 
            
              | 61 |  | 
            
              | 62 | ok( CanUserReceiveOrder($borrower, $order1, {acquisition => { order_receive => 1 }}) ); | 
            
              | 63 | ok( not CanUserReceiveOrder($borrower, $order2, {acquisition => { order_receive => 1 }}) ); | 
            
              | 64 | ok( CanUserReceiveOrder($borrower, $order3, {acquisition => { order_receive => 1 }}) ); | 
            
              | 65 |  | 
            
              | 66 | sub Mock_GetBasket { | 
            
              | 67 |     my ($basketno) = @_; | 
            
              | 68 |  | 
            
              | 69 |     return $baskets->{$basketno}; | 
            
              | 70 | } | 
            
              | 71 |  | 
            
              | 72 | sub Mock_userenv { | 
            
              | 73 |     return $userenv; | 
            
              | 74 | } |