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 |
}; |