Bug 14646: (regression test) Koha::RecordProcessor only accepts one filter at a time

This patch introduces new tests to t/RecordProcessor.t so it tests for
creating processors with more than one filter. It does so by running

    my $processor = new Koha::RecordProcessor({
                            filters => ['Null','Dummy']
                        });

and testing the results.

To test:
- Apply the patch
- Run:
  $ prove t/RecordProcessor.t
=> FAIL: tests related to multiple filters fail.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
This commit is contained in:
Tomás Cohen Arazi 2015-08-04 18:43:01 -03:00 committed by Tomas Cohen Arazi
parent 91e9cafa7a
commit 406098b20b

View file

@ -17,8 +17,8 @@
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use strict;
use warnings;
use Modern::Perl;
use File::Spec;
use MARC::Record;
@ -77,4 +77,37 @@ eval {
ok(!$@, 'Destroyed processor successfully');
subtest "new() tests" => sub {
plan tests => 13;
my $processor;
# Create a processor with a valid filter
$processor = new Koha::RecordProcessor({ filters => 'Null' });
is( ref($processor), 'Koha::RecordProcessor', 'Processor created' );
is( scalar @{ $processor->filters }, 1, 'One filter initialized' );
is( ref($processor->filters->[0]), 'Koha::Filter::MARC::Null', 'Correct filter initialized' );
# Create a processor with an invalid filter
$processor = new Koha::RecordProcessor({ filters => 'Dummy' });
is( ref($processor), 'Koha::RecordProcessor', 'Processor created' );
is( scalar @{ $processor->filters }, 0, 'No filter initialized' );
is( ref($processor->filters->[0]), '', 'Make sure no filter initialized' );
# Create a processor with two valid filters
$processor = new Koha::RecordProcessor({ filters => [ 'Null', 'EmbedSeeFromHeadings' ] });
is( ref($processor), 'Koha::RecordProcessor', 'Processor created' );
is( scalar @{ $processor->filters }, 2, 'Two filters initialized' );
is( ref($processor->filters->[0]), 'Koha::Filter::MARC::Null', 'Correct first filter initialized' );
is( ref($processor->filters->[1]), 'Koha::Filter::MARC::EmbedSeeFromHeadings', 'Correct second filter initialized' );
# Create a processor with both valid and invalid filters.
$processor = new Koha::RecordProcessor({ filters => [ 'Null', 'Dummy' ] });
is( ref($processor), 'Koha::RecordProcessor', 'Processor created' );
is( scalar @{ $processor->filters }, 1, 'Invalid filter skipped' );
is( ref($processor->filters->[0]), 'Koha::Filter::MARC::Null', 'Correct filter initialized' );
};
done_testing();