Lines 376-382
subtest 'Backend testing (mocks)' => sub {
Link Here
|
376 |
|
376 |
|
377 |
subtest 'Backend core methods' => sub { |
377 |
subtest 'Backend core methods' => sub { |
378 |
|
378 |
|
379 |
plan tests => 17; |
379 |
plan tests => 19; |
380 |
|
380 |
|
381 |
$schema->storage->txn_begin; |
381 |
$schema->storage->txn_begin; |
382 |
|
382 |
|
Lines 384-389
subtest 'Backend core methods' => sub {
Link Here
|
384 |
my $backend = Test::MockObject->new; |
384 |
my $backend = Test::MockObject->new; |
385 |
$backend->set_isa('Koha::Illbackends::Mock'); |
385 |
$backend->set_isa('Koha::Illbackends::Mock'); |
386 |
$backend->set_always('name', 'Mock'); |
386 |
$backend->set_always('name', 'Mock'); |
|
|
387 |
$backend->mock('capabilities', sub { return 'Mock'; }); |
387 |
|
388 |
|
388 |
my $config = Test::MockObject->new; |
389 |
my $config = Test::MockObject->new; |
389 |
$config->set_always('backend_dir', "/tmp"); |
390 |
$config->set_always('backend_dir', "/tmp"); |
Lines 423-428
subtest 'Backend core methods' => sub {
Link Here
|
423 |
$backend->set_series('create', |
424 |
$backend->set_series('create', |
424 |
{ stage => 'bar', method => 'create' }, |
425 |
{ stage => 'bar', method => 'create' }, |
425 |
{ stage => 'commit', method => 'create' }, |
426 |
{ stage => 'commit', method => 'create' }, |
|
|
427 |
{ stage => 'commit', method => 'create' }, |
428 |
{ stage => 'commit', method => 'create' }, |
426 |
{ stage => 'commit', method => 'create' }); |
429 |
{ stage => 'commit', method => 'create' }); |
427 |
# Test non-commit |
430 |
# Test non-commit |
428 |
is_deeply($illrq->backend_create({test => 1}), |
431 |
is_deeply($illrq->backend_create({test => 1}), |
Lines 452-457
subtest 'Backend core methods' => sub {
Link Here
|
452 |
"Backend create: arbitrary stage, permitted."); |
455 |
"Backend create: arbitrary stage, permitted."); |
453 |
is($illrq->status, "NEW", "Backend create: not-queued."); |
456 |
is($illrq->status, "NEW", "Backend create: not-queued."); |
454 |
|
457 |
|
|
|
458 |
# Test that enabling the unmediated workflow causes the backend's |
459 |
# 'unmediated_ill' method to be called |
460 |
t::lib::Mocks::mock_preference('ILLModuleUnmediated', '1'); |
461 |
$backend->mock( |
462 |
'capabilities', |
463 |
sub { |
464 |
my ($self, $name) = @_; |
465 |
if ($name eq 'unmediated_ill') { |
466 |
return sub { |
467 |
return { unmediated_ill => 1 }; |
468 |
}; |
469 |
} |
470 |
} |
471 |
); |
472 |
$illrq->status('NEW'); |
473 |
is_deeply( |
474 |
$illrq->backend_create({test => 1}), |
475 |
{ |
476 |
'opac_template' => '/tmp/Mock/opac-includes/.inc', |
477 |
'template' => '/tmp/Mock/intra-includes/.inc', |
478 |
'unmediated_ill' => 1 |
479 |
}, |
480 |
"Backend create: commit stage, permitted, ILLModuleUnmediated enabled." |
481 |
); |
482 |
|
483 |
# Test that disabling the unmediated workflow causes the backend's |
484 |
# 'unmediated_ill' method to be NOT called |
485 |
t::lib::Mocks::mock_preference('ILLModuleUnmediated', '0'); |
486 |
$illrq->status('NEW'); |
487 |
is_deeply( |
488 |
$illrq->backend_create({test => 1}), |
489 |
{ |
490 |
stage => 'commit', method => 'create', permitted => 1, |
491 |
template => "/tmp/Mock/intra-includes/create.inc", |
492 |
opac_template => "/tmp/Mock/opac-includes/create.inc", |
493 |
}, |
494 |
"Backend create: commit stage, permitted, ILLModuleUnmediated disabled." |
495 |
); |
496 |
|
455 |
# backend_renew |
497 |
# backend_renew |
456 |
$backend->set_series('renew', { stage => 'bar', method => 'renew' }); |
498 |
$backend->set_series('renew', { stage => 'bar', method => 'renew' }); |
457 |
is_deeply($illrq->backend_renew({test => 1}), |
499 |
is_deeply($illrq->backend_renew({test => 1}), |
458 |
- |
|
|