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

(-)a/Koha/Illrequest/Logger.pm (-2 / +2 lines)
Lines 24-30 use Time::Local; Link Here
24
use C4::Koha;
24
use C4::Koha;
25
use C4::Context;
25
use C4::Context;
26
use C4::Templates;
26
use C4::Templates;
27
use C4::Log qw( logaction );
27
use C4::Log;
28
use Koha::ActionLogs;
28
use Koha::ActionLogs;
29
use Koha::Notice::Template;
29
use Koha::Notice::Template;
30
use Koha::Patron;
30
use Koha::Patron;
Lines 236-242 sub log_something { Link Here
236
        defined $to_log->{infos} &&
236
        defined $to_log->{infos} &&
237
        C4::Context->preference("IllLog")
237
        C4::Context->preference("IllLog")
238
    ) {
238
    ) {
239
        logaction(
239
        C4::Log::logaction(
240
            $to_log->{modulename},
240
            $to_log->{modulename},
241
            $to_log->{actionname},
241
            $to_log->{actionname},
242
            $to_log->{objectnumber},
242
            $to_log->{objectnumber},
(-)a/t/db_dependent/Illrequest/Logger.t (-3 / +39 lines)
Lines 1-4 Link Here
1
2
#!/usr/bin/perl
1
#!/usr/bin/perl
3
2
4
# This file is part of Koha.
3
# This file is part of Koha.
Lines 24-31 use Test::More tests => 2; Link Here
24
use Test::MockModule;
23
use Test::MockModule;
25
use Test::MockObject;
24
use Test::MockObject;
26
use t::lib::Mocks;
25
use t::lib::Mocks;
26
use t::lib::TestBuilder;
27
27
28
my $schema = Koha::Database->new->schema;
28
my $schema = Koha::Database->new->schema;
29
my $builder = t::lib::TestBuilder->new;
29
30
30
# Mock the modules we use
31
# Mock the modules we use
31
my $c4_log = Test::MockModule->new('C4::Log');
32
my $c4_log = Test::MockModule->new('C4::Log');
Lines 38-44 use_ok('Koha::Illrequest::Logger'); Link Here
38
39
39
subtest 'Basics' => sub {
40
subtest 'Basics' => sub {
40
41
41
    plan tests => 7;
42
    plan tests => 9;
42
43
43
    $schema->storage->txn_begin;
44
    $schema->storage->txn_begin;
44
45
Lines 72-78 subtest 'Basics' => sub { Link Here
72
        'logaction() being called when data is incomplete');
73
        'logaction() being called when data is incomplete');
73
74
74
    # Fix the data hashref, then test that logging occurs
75
    # Fix the data hashref, then test that logging occurs
75
    $log_obj->{objectnumber} = 'objectnumber';
76
    $log_obj->{objectnumber} = 123;
76
    is($logger->log_something($log_obj), 1,
77
    is($logger->log_something($log_obj), 1,
77
        'logaction() being called when pref is set and data is complete');
78
        'logaction() being called when pref is set and data is complete');
78
79
Lines 93-98 subtest 'Basics' => sub { Link Here
93
        'get_log_template() fetches correct core template'
94
        'get_log_template() fetches correct core template'
94
    );
95
    );
95
96
97
    # logged_requested_partners
98
    my $categorycode = $builder->build({ source => 'Category' })->{categorycode};
99
    my $branchcode = $builder->build({ source => 'Branch' })->{branchcode};
100
    my $illrq = $builder->build_object({
101
        class => 'Koha::Illrequests'
102
    });
103
    my $config = Test::MockObject->new;
104
    $config->set_always('partner_code', $categorycode);
105
    $illrq->_config($config);
106
    Koha::Patron->new(
107
        {
108
            surname      => 'Test 1',
109
            email        => 'me@nowhere.com',
110
            categorycode => $categorycode,
111
            branchcode   => $branchcode
112
        }
113
    )->store();
114
    my $returned = Koha::Illrequest::Logger::_logged_requested_partners({
115
        request => $illrq,
116
        info => {
117
            log_origin => "core",
118
            status_before => "GENREQ",
119
            status_after => "GENREQ",
120
            additional => {
121
                partner_email_previous => 'me@nowhere.com',
122
                partner_email_now => 'you@nowhere.com'
123
            }
124
        }
125
    });
126
    isa_ok($returned, 'HASH',
127
        'logged_requested_partners returns a hasref'
128
    );
129
    is($returned->{'me@nowhere.com'}->{surname}, 'Test 1',
130
        'logged_requested_partners returns full patron objects');
131
96
    $schema->storage->txn_rollback;
132
    $schema->storage->txn_rollback;
97
};
133
};
98
134
(-)a/t/db_dependent/Illrequests.t (-5 / +67 lines)
Lines 50-56 use_ok('Koha::Illrequests'); Link Here
50
50
51
subtest 'Basic object tests' => sub {
51
subtest 'Basic object tests' => sub {
52
52
53
    plan tests => 24;
53
    plan tests => 26;
54
54
55
    $schema->storage->txn_begin;
55
    $schema->storage->txn_begin;
56
56
Lines 122-127 subtest 'Basic object tests' => sub { Link Here
122
    is(Koha::Illrequests->search->count, 0,
122
    is(Koha::Illrequests->search->count, 0,
123
       "No illrequest found after delete.");
123
       "No illrequest found after delete.");
124
124
125
    $illrq_obj->status('REQ');
126
    is($illrq_obj->status, 'REQ',
127
        "status correctly handles strings");
128
129
    $illrq_obj->status({ status => 'NEW', additional => 'add'});
130
    is($illrq_obj->status, 'NEW',
131
        "status correctly handles hashrefs");
132
125
    $schema->storage->txn_rollback;
133
    $schema->storage->txn_rollback;
126
};
134
};
127
135
Lines 373-379 subtest 'Status Graph tests' => sub { Link Here
373
381
374
subtest 'Backend testing (mocks)' => sub {
382
subtest 'Backend testing (mocks)' => sub {
375
383
376
    plan tests => 13;
384
    plan tests => 16;
377
385
378
    $schema->storage->txn_begin;
386
    $schema->storage->txn_begin;
379
387
Lines 381-387 subtest 'Backend testing (mocks)' => sub { Link Here
381
    # the Dummy plugin installed.  load_backend & available_backends don't
389
    # the Dummy plugin installed.  load_backend & available_backends don't
382
    # currently have tests as a result.
390
    # currently have tests as a result.
383
391
384
    t::lib::Mocks->mock_config('interlibrary_loans', { backend_dir => 'a_dir' }  );
392
    my $categorycode = $builder->build({ source => 'Category' })->{categorycode};
393
    my $branchcode = $builder->build({ source => 'Branch' })->{branchcode};
394
385
    my $backend = Test::MockObject->new;
395
    my $backend = Test::MockObject->new;
386
    $backend->set_isa('Koha::Illbackends::Mock');
396
    $backend->set_isa('Koha::Illbackends::Mock');
387
    $backend->set_always('name', 'Mock');
397
    $backend->set_always('name', 'Mock');
Lines 391-397 subtest 'Backend testing (mocks)' => sub { Link Here
391
        class => 'Koha::Illrequests',
401
        class => 'Koha::Illrequests',
392
    });
402
    });
393
403
404
    my $config = Test::MockObject->new;
405
    $config->set_always('partner_code', $categorycode);
406
    $config->set_always('backend_dir', 'a_dir');
407
394
    $illrq->_backend($backend);
408
    $illrq->_backend($backend);
409
    $illrq->_config($config);
395
410
396
    isa_ok($illrq->_backend, 'Koha::Illbackends::Mock',
411
    isa_ok($illrq->_backend, 'Koha::Illbackends::Mock',
397
           "OK accessing mocked backend.");
412
           "OK accessing mocked backend.");
Lines 438-443 subtest 'Backend testing (mocks)' => sub { Link Here
438
        "Test metadata."
453
        "Test metadata."
439
    );
454
    );
440
455
456
    $backend->mock(
457
        'capabilities',
458
        sub {
459
            my ($self, $name) = @_;
460
            if ($name eq 'get_requested_partners') {
461
                return sub {
462
                    return 'me@nowhere.com; you@nowhere.com';
463
                }
464
            }
465
        }
466
    );
467
    is($illrq->requested_partners, 'me@nowhere.com; you@nowhere.com',
468
        "requested_partners returns string by default");
469
470
    Koha::Patron->new(
471
        {
472
            surname      => 'Test 1',
473
            email        => 'me@nowhere.com',
474
            categorycode => $categorycode,
475
            branchcode   => $branchcode
476
        }
477
    )->store();
478
479
    Koha::Patron->new(
480
        {
481
            surname      => 'Test 2',
482
            email        => 'you@nowhere.com',
483
            categorycode => $categorycode,
484
            branchcode   => $branchcode
485
        }
486
    )->store();
487
488
	my $part = $illrq->requested_partners(1);
489
    isa_ok($part, 'ARRAY',
490
           "requested_partners returns array when requested");
491
    isa_ok(@{$part}[0], 'HASH',
492
           "requested_partners return array contains unblessed Koha patrons");
493
441
    # capabilities:
494
    # capabilities:
442
495
443
    # No backend graph extension
496
    # No backend graph extension
Lines 1222-1228 subtest 'Checking Limits' => sub { Link Here
1222
1275
1223
subtest 'Custom statuses' => sub {
1276
subtest 'Custom statuses' => sub {
1224
1277
1225
    plan tests => 3;
1278
    plan tests => 5;
1226
1279
1227
    $schema->storage->txn_begin;
1280
    $schema->storage->txn_begin;
1228
1281
Lines 1270-1275 subtest 'Custom statuses' => sub { Link Here
1270
    is($ill_req->statusalias, undef,
1323
    is($ill_req->statusalias, undef,
1271
        "Koha::Illrequest->status overloading resetting status_alias");
1324
        "Koha::Illrequest->status overloading resetting status_alias");
1272
1325
1326
    $ill_req->status_alias($av->authorised_value);
1327
    is($ill_req->status_alias, $av->authorised_value,
1328
        "Koha::Illrequest->status_alias correctly handling string");
1329
1330
    $ill_req->status_alias(
1331
        { status => $av->authorised_value, additional => 'xyz' }
1332
    );
1333
    is($ill_req->status_alias, $av->authorised_value,
1334
        "Koha::Illrequest->status_alias correctly handling hashref");
1335
1273
    $schema->storage->txn_rollback;
1336
    $schema->storage->txn_rollback;
1274
};
1337
};
1275
1338
1276
- 

Return to bug 22531