|
Lines 19-26
Link Here
|
| 19 |
|
19 |
|
| 20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
| 21 |
|
21 |
|
| 22 |
use Test::More tests => 5; |
22 |
use Test::More tests => 6; |
|
|
23 |
|
| 23 |
use Test::Exception; |
24 |
use Test::Exception; |
|
|
25 |
use Test::MockModule; |
| 26 |
|
| 24 |
use MARC::Field; |
27 |
use MARC::Field; |
| 25 |
|
28 |
|
| 26 |
use C4::Items; |
29 |
use C4::Items; |
|
Lines 221-223
subtest 'custom_cover_image_url' => sub {
Link Here
|
| 221 |
}; |
224 |
}; |
| 222 |
|
225 |
|
| 223 |
$schema->storage->txn_rollback; |
226 |
$schema->storage->txn_rollback; |
| 224 |
- |
227 |
|
|
|
228 |
subtest 'pickup_locations() tests' => sub { |
| 229 |
|
| 230 |
plan tests => 1; |
| 231 |
|
| 232 |
$schema->storage->txn_begin; |
| 233 |
|
| 234 |
# Build 8 libraries |
| 235 |
my $l_1 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 236 |
my $l_2 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 237 |
my $l_3 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 238 |
my $l_4 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 239 |
my $l_5 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 240 |
my $l_6 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 241 |
my $l_7 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 242 |
my $l_8 = $builder->build_object({ class => 'Koha::Libraries', value => { pickup_location => 1 } }); |
| 243 |
|
| 244 |
# Mock Koha::Item->pickup_locations so we have control on the output |
| 245 |
# The $switch variable controls the output. |
| 246 |
my $switch = 0; |
| 247 |
my $queries = [ |
| 248 |
{ branchcode => [ $l_1->branchcode, $l_2->branchcode ] }, |
| 249 |
{ branchcode => [ $l_3->branchcode, $l_4->branchcode ] }, |
| 250 |
{ branchcode => [ $l_5->branchcode, $l_6->branchcode ] }, |
| 251 |
{ branchcode => [ $l_7->branchcode, $l_8->branchcode ] } |
| 252 |
]; |
| 253 |
|
| 254 |
my $mock_item = Test::MockModule->new('Koha::Item'); |
| 255 |
$mock_item->mock( |
| 256 |
'pickup_locations', |
| 257 |
sub { |
| 258 |
my $query = $queries->[$switch]; |
| 259 |
$switch++; |
| 260 |
return Koha::Libraries->search($query); |
| 261 |
} |
| 262 |
); |
| 263 |
|
| 264 |
# Two biblios |
| 265 |
my $biblio_1 = $builder->build_sample_biblio; |
| 266 |
my $biblio_2 = $builder->build_sample_biblio; |
| 267 |
|
| 268 |
# Two items each |
| 269 |
my $item_1_1 = $builder->build_sample_item({ biblionumber => $biblio_1->biblionumber }); |
| 270 |
my $item_1_2 = $builder->build_sample_item({ biblionumber => $biblio_1->biblionumber }); |
| 271 |
my $item_2_1 = $builder->build_sample_item({ biblionumber => $biblio_2->biblionumber }); |
| 272 |
my $item_2_2 = $builder->build_sample_item({ biblionumber => $biblio_2->biblionumber }); |
| 273 |
|
| 274 |
my $biblios = Koha::Biblios->search( |
| 275 |
{ |
| 276 |
biblionumber => [ $biblio_1->biblionumber, $biblio_2->biblionumber ] |
| 277 |
} |
| 278 |
); |
| 279 |
|
| 280 |
my $library_ids = [ |
| 281 |
Koha::Libraries->search( |
| 282 |
{ |
| 283 |
branchcode => [ |
| 284 |
$l_1->branchcode, $l_2->branchcode, $l_3->branchcode, |
| 285 |
$l_4->branchcode, $l_5->branchcode, $l_6->branchcode, |
| 286 |
$l_7->branchcode, $l_8->branchcode |
| 287 |
] |
| 288 |
}, |
| 289 |
{ order_by => ['branchname'] } |
| 290 |
)->_resultset->get_column('branchcode')->all |
| 291 |
]; |
| 292 |
|
| 293 |
my $pickup_locations_ids = [ |
| 294 |
$biblios->pickup_locations->_resultset->get_column('branchcode')->all |
| 295 |
]; |
| 296 |
|
| 297 |
is_deeply( |
| 298 |
$library_ids, |
| 299 |
$pickup_locations_ids, |
| 300 |
'The addition of all biblios+items pickup locations is returned' |
| 301 |
); |
| 302 |
|
| 303 |
$schema->storage->txn_rollback; |
| 304 |
}; |