|
Lines 8-14
Link Here
|
| 8 |
|
8 |
|
| 9 |
use Modern::Perl; |
9 |
use Modern::Perl; |
| 10 |
|
10 |
|
| 11 |
use Test::More tests => 61; |
11 |
use Test::More tests => 62; |
| 12 |
use Data::Dumper; |
12 |
use Data::Dumper; |
| 13 |
|
13 |
|
| 14 |
use C4::Calendar qw( new insert_single_holiday ); |
14 |
use C4::Calendar qw( new insert_single_holiday ); |
|
Lines 2091-2093
subtest "GetItemsAvailableToFillHoldsRequestsForBib" => sub {
Link Here
|
| 2091 |
is_deeply( [$items->[0]->{itemnumber},$items->[1]->{itemnumber}],[$item_2->itemnumber,$item_3->itemnumber],"Correct two items retrieved"); |
2091 |
is_deeply( [$items->[0]->{itemnumber},$items->[1]->{itemnumber}],[$item_2->itemnumber,$item_3->itemnumber],"Correct two items retrieved"); |
| 2092 |
|
2092 |
|
| 2093 |
}; |
2093 |
}; |
| 2094 |
- |
2094 |
|
|
|
2095 |
subtest "Test unallocated option" => sub { |
| 2096 |
|
| 2097 |
plan tests => 6; |
| 2098 |
|
| 2099 |
$schema->storage->txn_begin; |
| 2100 |
|
| 2101 |
my $patron = $builder->build_object( |
| 2102 |
{ |
| 2103 |
class => "Koha::Patrons", |
| 2104 |
} |
| 2105 |
); |
| 2106 |
my $patron_2 = $builder->build_object( |
| 2107 |
{ |
| 2108 |
class => "Koha::Patrons", |
| 2109 |
} |
| 2110 |
); |
| 2111 |
|
| 2112 |
my $item1 = $builder->build_sample_item( {} )->store(); |
| 2113 |
|
| 2114 |
my $item2 = $builder->build_sample_item( {} )->store(); |
| 2115 |
|
| 2116 |
my $reserve_id = AddReserve( |
| 2117 |
{ |
| 2118 |
branchcode => $patron->branchcode, |
| 2119 |
borrowernumber => $patron->borrowernumber, |
| 2120 |
biblionumber => $item1->biblionumber, |
| 2121 |
priority => 1, |
| 2122 |
} |
| 2123 |
); |
| 2124 |
|
| 2125 |
C4::HoldsQueue::CreateQueue(); |
| 2126 |
|
| 2127 |
my $queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
| 2128 |
my $hold = $queue_rs->next; |
| 2129 |
is( |
| 2130 |
$hold->itemnumber->itemnumber, |
| 2131 |
$item1->itemnumber, |
| 2132 |
"Picked the item" |
| 2133 |
); |
| 2134 |
|
| 2135 |
my $timestamp = $hold->timestamp; |
| 2136 |
|
| 2137 |
sleep 2; |
| 2138 |
C4::HoldsQueue::CreateQueue(); |
| 2139 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
| 2140 |
$hold = $queue_rs->next; |
| 2141 |
isnt( $hold->timestamp, $timestamp, "Hold was reallocated when queue fully rebuilt" ); |
| 2142 |
$timestamp = $hold->timestamp; |
| 2143 |
|
| 2144 |
C4::HoldsQueue::CreateQueue( { unallocated => 1 } ); |
| 2145 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
| 2146 |
$hold = $queue_rs->next; |
| 2147 |
is( $hold->timestamp, $timestamp, "Previously allocated hold not updated when unallocated passed" ); |
| 2148 |
|
| 2149 |
my $reserve_id_2 = AddReserve( |
| 2150 |
{ |
| 2151 |
branchcode => $patron_2->branchcode, |
| 2152 |
borrowernumber => $patron_2->borrowernumber, |
| 2153 |
biblionumber => $item2->biblionumber, |
| 2154 |
priority => 1, |
| 2155 |
} |
| 2156 |
); |
| 2157 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item2->biblionumber } ); |
| 2158 |
$hold = $queue_rs->next; |
| 2159 |
ok( !$hold, "New hold is not allocated to queue before run" ); |
| 2160 |
C4::HoldsQueue::CreateQueue( { unallocated => 1 } ); |
| 2161 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item2->biblionumber } ); |
| 2162 |
$hold = $queue_rs->next; |
| 2163 |
ok( $hold, "New hold is allocated to queue when run for unallocated holds" ); |
| 2164 |
|
| 2165 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
| 2166 |
$hold = $queue_rs->next; |
| 2167 |
is( |
| 2168 |
$hold->timestamp, $timestamp, |
| 2169 |
"Previously allocated hold not updated when unallocated passed and others are allocated" |
| 2170 |
); |
| 2171 |
}; |