Lines 8-14
Link Here
|
8 |
|
8 |
|
9 |
use Modern::Perl; |
9 |
use Modern::Perl; |
10 |
|
10 |
|
11 |
use Test::More tests => 63; |
11 |
use Test::More tests => 64; |
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 2211-2213
subtest "Canceled holds should be removed from the holds queue" => sub {
Link Here
|
2211 |
|
2211 |
|
2212 |
$schema->storage->txn_rollback; |
2212 |
$schema->storage->txn_rollback; |
2213 |
}; |
2213 |
}; |
2214 |
- |
2214 |
|
|
|
2215 |
subtest "Test unallocated option" => sub { |
2216 |
|
2217 |
plan tests => 6; |
2218 |
|
2219 |
$schema->storage->txn_begin; |
2220 |
|
2221 |
my $patron = $builder->build_object( |
2222 |
{ |
2223 |
class => "Koha::Patrons", |
2224 |
} |
2225 |
); |
2226 |
my $patron_2 = $builder->build_object( |
2227 |
{ |
2228 |
class => "Koha::Patrons", |
2229 |
} |
2230 |
); |
2231 |
|
2232 |
my $item1 = $builder->build_sample_item( {} )->store(); |
2233 |
|
2234 |
my $item2 = $builder->build_sample_item( {} )->store(); |
2235 |
|
2236 |
my $reserve_id = AddReserve( |
2237 |
{ |
2238 |
branchcode => $patron->branchcode, |
2239 |
borrowernumber => $patron->borrowernumber, |
2240 |
biblionumber => $item1->biblionumber, |
2241 |
priority => 1, |
2242 |
} |
2243 |
); |
2244 |
|
2245 |
C4::HoldsQueue::CreateQueue(); |
2246 |
|
2247 |
my $queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
2248 |
my $hold = $queue_rs->next; |
2249 |
is( |
2250 |
$hold->itemnumber->itemnumber, |
2251 |
$item1->itemnumber, |
2252 |
"Picked the item" |
2253 |
); |
2254 |
|
2255 |
my $timestamp = $hold->timestamp; |
2256 |
|
2257 |
sleep 2; |
2258 |
C4::HoldsQueue::CreateQueue(); |
2259 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
2260 |
$hold = $queue_rs->next; |
2261 |
isnt( $hold->timestamp, $timestamp, "Hold was reallocated when queue fully rebuilt" ); |
2262 |
$timestamp = $hold->timestamp; |
2263 |
|
2264 |
C4::HoldsQueue::CreateQueue( { unallocated => 1 } ); |
2265 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
2266 |
$hold = $queue_rs->next; |
2267 |
is( $hold->timestamp, $timestamp, "Previously allocated hold not updated when unallocated passed" ); |
2268 |
|
2269 |
my $reserve_id_2 = AddReserve( |
2270 |
{ |
2271 |
branchcode => $patron_2->branchcode, |
2272 |
borrowernumber => $patron_2->borrowernumber, |
2273 |
biblionumber => $item2->biblionumber, |
2274 |
priority => 1, |
2275 |
} |
2276 |
); |
2277 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item2->biblionumber } ); |
2278 |
$hold = $queue_rs->next; |
2279 |
ok( !$hold, "New hold is not allocated to queue before run" ); |
2280 |
C4::HoldsQueue::CreateQueue( { unallocated => 1 } ); |
2281 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item2->biblionumber } ); |
2282 |
$hold = $queue_rs->next; |
2283 |
ok( $hold, "New hold is allocated to queue when run for unallocated holds" ); |
2284 |
|
2285 |
$queue_rs = $schema->resultset('TmpHoldsqueue')->search( { biblionumber => $item1->biblionumber } ); |
2286 |
$hold = $queue_rs->next; |
2287 |
is( |
2288 |
$hold->timestamp, $timestamp, |
2289 |
"Previously allocated hold not updated when unallocated passed and others are allocated" |
2290 |
); |
2291 |
}; |