Browse Source

Bug 14778: Install fixtures for t/Koha.t

Warning: This patch modifies a module!
What's the need of the binary function here?
The data are case insensitive, so no need to use this mysql function.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
3.22.x
Jonathan Druart 9 years ago
committed by Tomas Cohen Arazi
parent
commit
cc73c53c6f
  1. 2
      C4/Koha.pm
  2. 61
      t/Koha.t

2
C4/Koha.pm

@ -1291,7 +1291,7 @@ sub IsAuthorisedValueCategory {
my $query = ' my $query = '
SELECT category SELECT category
FROM authorised_values FROM authorised_values
WHERE BINARY category=? WHERE category=?
LIMIT 1 LIMIT 1
'; ';
my $sth = C4::Context->dbh->prepare($query); my $sth = C4::Context->dbh->prepare($query);

61
t/Koha.t

@ -18,41 +18,40 @@
use Modern::Perl; use Modern::Perl;
use C4::Context; use C4::Context;
use Test::More tests => 29; use Test::More tests => 30;
use Test::MockModule; use Test::MockModule;
use DBD::Mock;
use_ok('C4::Koha'); use_ok('C4::Koha');
my $module_context = new Test::MockModule('C4::Context'); use Test::DBIx::Class {
$module_context->mock( schema_class => 'Koha::Schema',
'_new_dbh', connect_info => ['dbi:SQLite:dbname=:memory:','',''],
sub { connect_opts => { name_sep => '.', quote_char => '`', },
my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) fixture_class => '::Populate',
|| die "Cannot create handle: $DBI::errstr\n"; }, 'AuthorisedValue' ;
return $dbh;
} sub fixtures {
); my ( $data ) = @_;
fixtures_ok [
SKIP: { AuthorisedValue => [
[ 'category', 'authorised_value' ],
skip "DBD::Mock is too old", 3 @$data,
unless $DBD::Mock::VERSION >= 1.45; ],
], 'add fixtures';
my @loc_results = (['category'],['LOC']); }
my @empty_results = ([]);
my @relterms_results = (['category'],['RELTERMS']); my $db = Test::MockModule->new('Koha::Database');
$db->mock( _new_schema => sub { return Schema(); } );
my $dbh = C4::Context->dbh();
my $authorised_values = [
$dbh->{mock_add_resultset} = \@loc_results; ['LOC', 'LOC'],
is ( IsAuthorisedValueCategory('LOC'), 1, 'LOC is a valid authorized value category'); ['RELTERMS', 'RELTERMS'],
$dbh->{mock_add_resultset} = \@empty_results; ];
is ( IsAuthorisedValueCategory('something'), 0, 'something is not a valid authorized value category'); fixtures($authorised_values);
$dbh->{mock_add_resultset} = \@relterms_results;
is ( IsAuthorisedValueCategory('RELTERMS'), 1, 'RELTERMS is a valid authorized value category'); is ( IsAuthorisedValueCategory('LOC'), 1, 'LOC is a valid authorized value category');
is ( IsAuthorisedValueCategory('something'), 0, 'something is not a valid authorized value category');
} # End SKIP block is ( IsAuthorisedValueCategory('RELTERMS'), 1, 'RELTERMS is a valid authorized value category');
# #
# test that &slashifyDate returns correct (non-US) date # test that &slashifyDate returns correct (non-US) date

Loading…
Cancel
Save