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 = '
SELECT category
FROM authorised_values
WHERE BINARY category=?
WHERE category=?
LIMIT 1
';
my $sth = C4::Context->dbh->prepare($query);

61
t/Koha.t

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

Loading…
Cancel
Save