Bug 16272: Specific case when switching an on-site checkout to a regular checkout
[koha.git] / t / db_dependent / Circulation / Returns.t
1 use Modern::Perl;
2 use Test::More tests => 2;
3
4 use t::lib::Mocks;
5 use C4::Biblio;
6 use C4::Circulation;
7 use C4::Items;
8 use C4::Members;
9 use Koha::Database;
10 use Koha::DateUtils;
11
12 use t::lib::TestBuilder;
13
14 use MARC::Record;
15
16 *C4::Context::userenv = \&Mock_userenv;
17
18 my $schema = Koha::Database->schema;
19 $schema->storage->txn_begin;
20 my $builder = t::lib::TestBuilder->new;
21
22 my $library = $builder->build({
23     source => 'Branch',
24 });
25
26 my $record = MARC::Record->new();
27 my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, '' );
28
29 my ( undef, undef, $itemnumber ) = AddItem(
30     {
31         homebranch         => $library->{branchcode},
32         holdingbranch      => $library->{branchcode},
33         barcode            => 'i_dont_exist',
34         location           => 'PROC',
35         permanent_location => 'TEST'
36     },
37     $biblionumber
38 );
39
40 my $item;
41
42 t::lib::Mocks::mock_preference( "InProcessingToShelvingCart", 1 );
43 AddReturn( 'i_dont_exist', $library->{branchcode} );
44 $item = GetItem($itemnumber);
45 is( $item->{location}, 'CART', "InProcessingToShelvingCart functions as intended" );
46
47 $item->{location} = 'PROC';
48 ModItem( $item, undef, $itemnumber );
49
50 t::lib::Mocks::mock_preference( "InProcessingToShelvingCart", 0 );
51 AddReturn( 'i_dont_exist', $library->{branchcode} );
52 $item = GetItem($itemnumber);
53 is( $item->{location}, 'TEST', "InProcessingToShelvingCart functions as intended" );
54
55 # C4::Context->userenv
56 sub Mock_userenv {
57     return { branch => $library->{branchcode} };
58 }