@@ -, +, @@ --- t/db_dependent/Koha.t | 86 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 3 deletions(-) --- a/t/db_dependent/Koha.t +++ a/t/db_dependent/Koha.t @@ -11,17 +11,17 @@ use Koha::DateUtils qw(dt_from_string); use Test::More tests => 6; use DateTime::Format::MySQL; -eval {use Test::Deep;}; - BEGIN { use_ok('C4::Koha', qw( :DEFAULT GetDailyQuote )); use_ok('C4::Members'); } my $dbh = C4::Context->dbh; +$dbh->{AutoCommit} = 0; +$dbh->{RaiseError} = 1; subtest 'Authorized Values Tests' => sub { - plan tests => 6; + plan tests => 8; my $data = { category => 'CATEGORY', @@ -60,6 +60,85 @@ subtest 'Authorized Values Tests' => sub { my $sth = $dbh->prepare($query); $sth->execute($data->{category}, $data->{authorised_value}, $data->{lib}, $data->{lib_opac}, $data->{imageurl}); } + + SKIP: { + eval { require Test::Deep; import Test::Deep; }; + skip "Test::Deep required to run the GetAuthorisedValues() tests.", 2 if $@; + AddAuthorisedValue('BUG10656', 'ZZZ', 'Z_STAFF', 'A_PUBLIC', ''); + AddAuthorisedValue('BUG10656', 'AAA', 'A_STAFF', 'Z_PUBLIC', ''); + # the next one sets lib_opac to NULL; in that case, the staff + # display value is meant to be used. + AddAuthorisedValue('BUG10656', 'DDD', 'D_STAFF', undef, ''); + my $authvals = GetAuthorisedValues('BUG10656'); + cmp_deeply( + $authvals, + [ + { + id => ignore(), + category => 'BUG10656', + authorised_value => 'AAA', + selected => 0, + lib => 'A_STAFF', + lib_opac => 'Z_PUBLIC', + imageurl => '', + }, + { + id => ignore(), + category => 'BUG10656', + authorised_value => 'DDD', + selected => 0, + lib => 'D_STAFF', + lib_opac => undef, + imageurl => '', + }, + { + id => ignore(), + category => 'BUG10656', + authorised_value => 'ZZZ', + selected => 0, + lib => 'Z_STAFF', + lib_opac => 'A_PUBLIC', + imageurl => '', + }, + ], + 'list of authorised values in staff mode sorted by staff label (bug 10656)' + ); + $authvals = GetAuthorisedValues('BUG10656', '', 1); + cmp_deeply( + $authvals, + [ + { + id => ignore(), + category => 'BUG10656', + authorised_value => 'ZZZ', + selected => 0, + lib => 'A_PUBLIC', + lib_opac => 'A_PUBLIC', + imageurl => '', + }, + { + id => ignore(), + category => 'BUG10656', + authorised_value => 'DDD', + selected => 0, + lib => 'D_STAFF', + lib_opac => undef, + imageurl => '', + }, + { + id => ignore(), + category => 'BUG10656', + authorised_value => 'AAA', + selected => 0, + lib => 'Z_PUBLIC', + lib_opac => 'Z_PUBLIC', + imageurl => '', + }, + ], + 'list of authorised values in OPAC mode sorted by OPAC label (bug 10656)' + ); + } + }; subtest 'Itemtype info Tests' => sub { @@ -85,6 +164,7 @@ subtest 'Itemtype info Tests' => sub { ### test for C4::Koha->GetDailyQuote() SKIP: { + eval { require Test::Deep; import Test::Deep; }; skip "Test::Deep required to run the GetDailyQuote tests.", 1 if $@; subtest 'Daily Quotes Test' => sub { --