View | Details | Raw Unified | Return to bug 32565
Collapse All | Expand All

(-)a/t/db_dependent/HoldsQueue.t (-2 / +79 lines)
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
};

Return to bug 32565