Koha/t/db_dependent/Illrequest/SupplierUpdate.t
Andrew Isherwood 3b8a4f21be
Bug 30484: Add unit tests
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

https://bugs.koha-community.org/show_bug.cgi?id=28909
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-09-23 09:18:46 -03:00

64 lines
1.6 KiB
Perl
Executable file

#!/usr/bin/perl
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use Test::MockObject;
use Koha::Illrequest;
use Koha::Illrequest::SupplierUpdate;
use Test::More tests => 4;
use_ok('Koha::Illrequest::SupplierUpdate');
my $update = Koha::Illrequest::SupplierUpdate->new(
'test_type',
'test_name',
'Arbitrary update text'
);
isa_ok( $update, 'Koha::Illrequest::SupplierUpdate' );
my $processor = Test::MockObject->new;
$processor->set_isa('Koha::Illrequest::Processor');
$processor->{name} = 'Test processor';
$processor->mock('run', sub {
my ( $self, $update, $options, $result ) = @_;
push @{$result->{success}}, 'Hello';
});
# attach_processor
$update->attach_processor($processor);
is(
scalar @{$update->{processors}},
1,
'attach_processors works'
);
# run_processors
is_deeply(
$update->run_processors({}),
[{
name => 'Test processor',
result => {
success => ['Hello'],
error => []
}
}],
'run_processors calls attached processors'
);