X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=t%2FMatcher.t;h=652f061f2938eae7f3796316f2aa3ac98738e8c0;hb=e83ff6d633e4419d6f5453d5fd75d21ec0b28502;hp=484afe0473b76d7608804d201c93e3728edcdf51;hpb=3d55391eee5b22ee46764b3b1d73b6ef0ad46621;p=koha.git diff --git a/t/Matcher.t b/t/Matcher.t index 484afe0473..652f061f29 100755 --- a/t/Matcher.t +++ b/t/Matcher.t @@ -1,33 +1,54 @@ #!/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. # -#testing C4 matcher +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . -use strict; -use warnings; -use Test::More tests => 10; +use Modern::Perl; + +use Test::More; use Test::MockModule; +use Module::Load::Conditional qw/check_install/; + BEGIN { - use_ok('C4::Matcher'); + if ( check_install( module => 'Test::DBIx::Class' ) ) { + plan tests => 11; + } else { + plan skip_all => "Need Test::DBIx::Class" + } } -my $module = new Test::MockModule('C4::Context'); -$module->mock( - '_new_dbh', - sub { - my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) - || die "Cannot create handle: $DBI::errstr\n"; - return $dbh; - } -); -my $matcher = [ - [ 'matcher_id', 'code', 'description', 'record_type', 'threshold' ], - [ 1, 'ISBN', 'ISBN', 'red', 1 ], - [ 2, 'ISSN', 'ISSN', 'blue', 0 ] -]; -my $dbh = C4::Context->dbh(); +use_ok('C4::Matcher'); + +use Test::DBIx::Class { + schema_class => 'Koha::Schema', + connect_info => ['dbi:SQLite:dbname=:memory:','',''], + connect_opts => { name_sep => '.', quote_char => '`', }, + fixture_class => '::Populate', +}, 'MarcMatcher' ; + +fixtures_ok [ + MarcMatcher => [ + [ 'matcher_id', 'code', 'description', 'record_type', 'threshold' ], + [ 1, 'ISBN', 'ISBN', 'red', 1 ], + [ 2, 'ISSN', 'ISSN', 'blue', 0 ] + ], +], 'add fixtures'; -$dbh->{mock_add_resultset} = $matcher; +my $db = Test::MockModule->new('Koha::Database'); +$db->mock( _new_schema => sub { return Schema(); } ); my @matchers = C4::Matcher::GetMatcherList(); @@ -35,8 +56,6 @@ is( $matchers[0]->{'matcher_id'}, 1, 'First matcher_id value is 1' ); is( $matchers[1]->{'matcher_id'}, 2, 'Second matcher_id value is 2' ); -$dbh->{mock_add_resultset} = $matcher; - my $matcher_id = C4::Matcher::GetMatcherId('ISBN'); is( $matcher_id, 1, 'testing getmatcherid' ); @@ -62,3 +81,5 @@ is( $testmatcher->code(), 'match on ISBN', 'testing code accessor' ); $testmatcher->description('match on ISSN'); is( $testmatcher->description(), 'match on ISSN', 'testing code accessor' ); + +1;