@ -17,6 +17,9 @@
use Modern::Perl ;
use utf8 ;
use Encode ;
use Test::More tests = > 5 ;
use Test::MockModule ;
use Test::Mojo ;
@ -38,7 +41,7 @@ my $t = Test::Mojo->new('Koha::REST::V1');
subtest 'get() tests' = > sub {
plan tests = > 21 ;
plan tests = > 22 ;
$ schema - > storage - > txn_begin ;
@ -100,6 +103,28 @@ subtest 'get() tests' => sub {
- > status_is ( 404 )
- > json_is ( '/error' , 'Object not found.' ) ;
subtest 'marc-in-json encoding tests' = > sub {
plan tests = > 3 ;
my $ title_with_diacritics = "L'insoutenable légèreté de l'être" ;
my $ biblio = $ builder - > build_sample_biblio (
{
title = > $ title_with_diacritics ,
author = > "Milan Kundera"
}
) ;
my $ result = $ t - > get_ok ( "//$userid:$password@/api/v1/biblios/" . $ biblio - > biblionumber
= > { Accept = > 'application/marc-in-json' } )
- > status_is ( 200 ) - > tx - > res - > body ;
my $ encoded_title = Encode:: encode ( "UTF-8" , $ title_with_diacritics ) ;
like ( $ result , qr/\Q$encoded_title/ , "The title is not double encoded" ) ;
} ;
$ schema - > storage - > txn_rollback ;
} ;
@ -194,7 +219,7 @@ subtest 'delete() tests' => sub {
subtest 'get_public() tests' = > sub {
plan tests = > 25 ;
plan tests = > 26 ;
$ schema - > storage - > txn_begin ;
@ -277,6 +302,28 @@ subtest 'get_public() tests' => sub {
- > content_is ( $ biblio - > metadata - > record - > as_formatted ) ;
} ;
subtest 'marc-in-json encoding tests' = > sub {
plan tests = > 3 ;
my $ title_with_diacritics = "L'insoutenable légèreté de l'être" ;
my $ biblio = $ builder - > build_sample_biblio (
{
title = > $ title_with_diacritics ,
author = > "Milan Kundera"
}
) ;
my $ result = $ t - > get_ok ( "/api/v1/public/biblios/" . $ biblio - > biblionumber
= > { Accept = > 'application/marc-in-json' } )
- > status_is ( 200 ) - > tx - > res - > body ;
my $ encoded_title = Encode:: encode ( "UTF-8" , $ title_with_diacritics ) ;
like ( $ result , qr/\Q$encoded_title/ , "The title is not double encoded" ) ;
} ;
# Hide author in OPAC
$ subfields = Koha::MarcSubfieldStructures - > search ( { tagfield = > '100' } ) ;
while ( my $ subfield = $ subfields - > next ) {