|
Lines 20-26
use Modern::Perl;
Link Here
|
| 20 |
use CGI qw ( -utf8 ); |
20 |
use CGI qw ( -utf8 ); |
| 21 |
|
21 |
|
| 22 |
use Test::NoWarnings; |
22 |
use Test::NoWarnings; |
| 23 |
use Test::More tests => 15; |
23 |
use Test::More tests => 16; |
| 24 |
use Test::MockModule; |
24 |
use Test::MockModule; |
| 25 |
use t::lib::Mocks; |
25 |
use t::lib::Mocks; |
| 26 |
use t::lib::TestBuilder; |
26 |
use t::lib::TestBuilder; |
|
Lines 1147-1152
subtest 'GetAvailability itemcallnumber' => sub {
Link Here
|
| 1147 |
$schema->storage->txn_rollback; |
1147 |
$schema->storage->txn_rollback; |
| 1148 |
}; |
1148 |
}; |
| 1149 |
|
1149 |
|
|
|
1150 |
subtest 'GetAvailability availabilitystatus' => sub { |
| 1151 |
plan tests => 4; |
| 1152 |
|
| 1153 |
$schema->storage->txn_begin; |
| 1154 |
my $item = $builder->build_sample_item; |
| 1155 |
|
| 1156 |
my ( $cgi, $reply, $xml, $status, $message ); |
| 1157 |
$cgi = CGI->new; |
| 1158 |
$cgi->param( service => 'GetAvailability' ); |
| 1159 |
$cgi->param( id => $item->biblionumber ); |
| 1160 |
$cgi->param( id_type => 'biblio' ); |
| 1161 |
$reply = C4::ILSDI::Services::GetAvailability($cgi); |
| 1162 |
$xml = XML::LibXML->load_xml( string => $reply ); |
| 1163 |
$status = $xml->findnodes('//dlf:availabilitystatus')->to_literal(); |
| 1164 |
is( $status, 'available', 'GetAvailability returns available' ); |
| 1165 |
|
| 1166 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 1167 |
$patron->branchcode( $item->holdingbranch )->store; |
| 1168 |
AddReserve( |
| 1169 |
{ |
| 1170 |
reservation_date => dt_from_string()->add( days => 1 ), |
| 1171 |
branchcode => $item->holdingbranch, |
| 1172 |
borrowernumber => $patron->id, |
| 1173 |
biblionumber => $item->biblionumber, |
| 1174 |
itemnumber => $item->itemnumber, |
| 1175 |
} |
| 1176 |
); |
| 1177 |
t::lib::Mocks::mock_preference( 'ConfirmFutureHolds', 0 ); |
| 1178 |
$reply = C4::ILSDI::Services::GetAvailability($cgi); |
| 1179 |
$xml = XML::LibXML->load_xml( string => $reply ); |
| 1180 |
$status = $xml->findnodes('//dlf:availabilitystatus')->to_literal(); |
| 1181 |
is( $status, 'available', 'GetAvailability returns available, ignoring future hold' ); |
| 1182 |
|
| 1183 |
t::lib::Mocks::mock_preference( 'ConfirmFutureHolds', 2 ); |
| 1184 |
$reply = C4::ILSDI::Services::GetAvailability($cgi); |
| 1185 |
$xml = XML::LibXML->load_xml( string => $reply ); |
| 1186 |
$status = $xml->findnodes('//dlf:availabilitystatus')->to_literal(); |
| 1187 |
$message = $xml->findnodes('//dlf:availabilitymsg')->to_literal(); |
| 1188 |
is( $status, 'not available', 'GetAvailability returns not available status for future hold' ); |
| 1189 |
is( $message, 'On hold', 'GetAvailability returns on hold message for future hold' ); |
| 1190 |
|
| 1191 |
t::lib::Mocks::mock_preference( 'ConfirmFutureHolds', 0 ); |
| 1192 |
$schema->storage->txn_rollback; |
| 1193 |
}; |
| 1194 |
|
| 1150 |
subtest 'Bug 34893: ILS-DI can return the wrong patron for AuthenticatePatron' => sub { |
1195 |
subtest 'Bug 34893: ILS-DI can return the wrong patron for AuthenticatePatron' => sub { |
| 1151 |
|
1196 |
|
| 1152 |
plan tests => 2; |
1197 |
plan tests => 2; |
| 1153 |
- |
|
|