Lines 351-357
subtest 'Default values' => sub {
Link Here
|
351 |
|
351 |
|
352 |
subtest 'build_object() tests' => sub { |
352 |
subtest 'build_object() tests' => sub { |
353 |
|
353 |
|
354 |
plan tests => 6; |
354 |
plan tests => 5; |
355 |
|
355 |
|
356 |
$builder = t::lib::TestBuilder->new(); |
356 |
$builder = t::lib::TestBuilder->new(); |
357 |
|
357 |
|
Lines 372-383
subtest 'build_object() tests' => sub {
Link Here
|
372 |
$categorycode, 'Category code correctly set' ); |
372 |
$categorycode, 'Category code correctly set' ); |
373 |
is( $issuing_rule->itemtype, $itemtype, 'Item type correctly set' ); |
373 |
is( $issuing_rule->itemtype, $itemtype, 'Item type correctly set' ); |
374 |
|
374 |
|
375 |
warning_is { $issuing_rule = $builder->build_object( {} ); } |
|
|
376 |
{ carped => 'Missing class param' }, |
377 |
'The class parameter is mandatory, raises a warning if absent'; |
378 |
is( $issuing_rule, undef, |
379 |
'If the class parameter is missing, undef is returned' ); |
380 |
|
381 |
subtest 'Test all classes' => sub { |
375 |
subtest 'Test all classes' => sub { |
382 |
my $Koha_modules_dir = dirname(__FILE__) . '/../../Koha'; |
376 |
my $Koha_modules_dir = dirname(__FILE__) . '/../../Koha'; |
383 |
my @koha_object_based_modules = `/bin/grep -rl -e '^sub object_class' $Koha_modules_dir`; |
377 |
my @koha_object_based_modules = `/bin/grep -rl -e '^sub object_class' $Koha_modules_dir`; |
Lines 394-403
subtest 'build_object() tests' => sub {
Link Here
|
394 |
is( ref($object), $module->object_class, "Testing $module" ); |
388 |
is( ref($object), $module->object_class, "Testing $module" ); |
395 |
} |
389 |
} |
396 |
}; |
390 |
}; |
|
|
391 |
|
392 |
subtest 'test parameters' => sub { |
393 |
plan tests => 3; |
394 |
|
395 |
warning_is { $issuing_rule = $builder->build_object( {} ); } |
396 |
{ carped => 'Missing class param' }, |
397 |
'The class parameter is mandatory, raises a warning if absent'; |
398 |
is( $issuing_rule, undef, |
399 |
'If the class parameter is missing, undef is returned' ); |
400 |
|
401 |
warnings_like { |
402 |
$builder->build_object( |
403 |
{ class => 'Koha::Patrons', categorycode => 'foobar' } ); |
404 |
} qr{Unknown parameter\(s\): categorycode}, ""; |
405 |
}; |
397 |
}; |
406 |
}; |
398 |
|
407 |
|
399 |
subtest '->build parameter' => sub { |
408 |
subtest '->build parameter' => sub { |
400 |
plan tests => 3; |
409 |
plan tests => 4; |
401 |
|
410 |
|
402 |
# Test to make sure build() warns user of unknown parameters. |
411 |
# Test to make sure build() warns user of unknown parameters. |
403 |
warnings_are { |
412 |
warnings_are { |
Lines 421-426
subtest '->build parameter' => sub {
Link Here
|
421 |
zource => 'Branch', # Intentional spelling error |
430 |
zource => 'Branch', # Intentional spelling error |
422 |
}) |
431 |
}) |
423 |
} qr/Source parameter not specified/, "Catch warning on missing source"; |
432 |
} qr/Source parameter not specified/, "Catch warning on missing source"; |
|
|
433 |
|
434 |
warnings_like { |
435 |
$builder->build( |
436 |
{ source => 'Borrower', categorycode => 'foobar' } ); |
437 |
} qr{Unknown parameter\(s\): categorycode}, ""; |
424 |
}; |
438 |
}; |
425 |
|
439 |
|
426 |
$schema->storage->txn_rollback; |
440 |
$schema->storage->txn_rollback; |