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

(-)a/t/db_dependent/Koha/BackgroundJob/ErmSushiHarvester.t (-2 / +35 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 2;
20
use Test::More tests => 3;
21
21
22
use Koha::Database;
22
use Koha::Database;
23
use Koha::BackgroundJobs;
23
use Koha::BackgroundJobs;
Lines 36-41 my $schema = Koha::Database->new->schema; Link Here
36
my $builder = t::lib::TestBuilder->new;
36
my $builder = t::lib::TestBuilder->new;
37
37
38
my $sushi_response_errors = {
38
my $sushi_response_errors = {
39
    'invalid_date_arguments' => '{"message":"Invalid Date Arguments","code":3020,"severity":"Error"}',
39
    'invalid_api_key'        => '{"Code": 2020, "Severity": "Error", "Message": "API Key Invalid"}',
40
    'invalid_api_key'        => '{"Code": 2020, "Severity": "Error", "Message": "API Key Invalid"}',
40
};
41
};
41
42
Lines 67-72 subtest 'enqueue() tests' => sub { Link Here
67
    $schema->storage->txn_rollback;
68
    $schema->storage->txn_rollback;
68
};
69
};
69
70
71
subtest 'invalid_date_arguments() tests' => sub {
72
73
    plan tests => 3;
74
75
    $schema->storage->txn_begin;
76
77
    my $ua = Test::MockModule->new('LWP::UserAgent');
78
    $ua->mock('simple_request', sub {
79
            return mock_sushi_response({'error'=>'invalid_date_arguments'});
80
    });
81
82
    my $usage_data_provider = $builder->build_object(
83
        { class => 'Koha::ERM::EUsage::UsageDataProviders', value => { name => 'TestProvider' } } );
84
85
    my $job_args = {
86
            ud_provider_id   => $usage_data_provider->erm_usage_data_provider_id,
87
            report_type      => 'TR_J1',
88
            begin_date       => '2023-08-01',
89
            end_date         => '2023-09-30',
90
            ud_provider_name => $usage_data_provider->name,
91
        };
92
93
    my $job_id = Koha::BackgroundJob::ErmSushiHarvester->new->enqueue($job_args);
94
    my $job = Koha::BackgroundJobs->find($job_id)->_derived_class;
95
    $job->process( $job_args );
96
97
    is( $job->{messages}[0]->{message}, decode_json($sushi_response_errors->{invalid_date_arguments})->{severity} . ' - ' . decode_json($sushi_response_errors->{invalid_date_arguments})->{message},'SUSHI error invalid_date_arguments is stored on job messages correctly' );
98
    is( $job->{messages}[0]->{type},'error','SUSHI error invalid_date_arguments is stored on job messages correctly' );
99
    is( $job->{messages}[0]->{code},decode_json($sushi_response_errors->{invalid_date_arguments})->{code},'SUSHI error invalid_date_arguments is stored on job messages correctly' );
100
101
    $schema->storage->txn_rollback;
102
};
103
70
subtest 'invalid_api_key() tests' => sub {
104
subtest 'invalid_api_key() tests' => sub {
71
105
72
    plan tests => 3;
106
    plan tests => 3;
73
- 

Return to bug 37963