|
Lines 17-23
Link Here
|
| 17 |
|
17 |
|
| 18 |
use Modern::Perl; |
18 |
use Modern::Perl; |
| 19 |
|
19 |
|
| 20 |
use Test::More tests => 20; |
20 |
use Test::More tests => 21; |
| 21 |
use Test::Exception; |
21 |
use Test::Exception; |
| 22 |
use Test::Warn; |
22 |
use Test::Warn; |
| 23 |
use DateTime; |
23 |
use DateTime; |
|
Lines 33-38
use Koha::DateUtils qw( dt_from_string );
Link Here
|
| 33 |
use Koha::Libraries; |
33 |
use Koha::Libraries; |
| 34 |
use Koha::Patrons; |
34 |
use Koha::Patrons; |
| 35 |
use Koha::ApiKeys; |
35 |
use Koha::ApiKeys; |
|
|
36 |
use Koha::AuthorisedValueCategories; |
| 37 |
use Koha::AuthorisedValues; |
| 36 |
|
38 |
|
| 37 |
use JSON; |
39 |
use JSON; |
| 38 |
use Scalar::Util qw( isvstring ); |
40 |
use Scalar::Util qw( isvstring ); |
|
Lines 867-869
subtest 'set_or_blank' => sub {
Link Here
|
| 867 |
|
869 |
|
| 868 |
$schema->storage->txn_rollback; |
870 |
$schema->storage->txn_rollback; |
| 869 |
}; |
871 |
}; |
| 870 |
- |
872 |
|
|
|
873 |
subtest 'Authorised values expansion' => sub { |
| 874 |
plan tests => 4; |
| 875 |
|
| 876 |
$schema->storage->txn_begin; |
| 877 |
|
| 878 |
Koha::AuthorisedValues->search({category => 'Countries'})->delete; |
| 879 |
Koha::AuthorisedValueCategories->search({category_name =>'Countries'})->delete; |
| 880 |
|
| 881 |
my $cat = $builder->build_object({ class => 'Koha::AuthorisedValueCategories', value => {category_name =>'Countries'} }); |
| 882 |
my $fr = $builder->build_object({ class => 'Koha::AuthorisedValues', value => {authorised_value => 'FR', lib=>'France', category=>$cat->category_name} }); |
| 883 |
my $us = $builder->build_object({ class => 'Koha::AuthorisedValues', value => {authorised_value => 'US', lib=>'United States of America', category=>$cat->category_name} }); |
| 884 |
my $ar = $builder->build_object({ class => 'Koha::AuthorisedValues', value => {authorised_value => 'AR', lib=>'Argentina', category=>$cat->category_name} }); |
| 885 |
|
| 886 |
my $city_class = Test::MockModule->new('Koha::City'); |
| 887 |
$city_class->mock( '_fetch_authorised_values', |
| 888 |
sub { |
| 889 |
my ($self) = @_; |
| 890 |
use Koha::AuthorisedValues; |
| 891 |
my $av = Koha::AuthorisedValues->find({authorised_value => $self->city_country, category => 'Countries'}); |
| 892 |
return {country => $av->unblessed}; |
| 893 |
} |
| 894 |
); |
| 895 |
|
| 896 |
my $marseille = $builder->build_object({ class => 'Koha::Cities', value => {city_country => 'FR', city_name => 'Marseille'} }); |
| 897 |
my $cordoba = $builder->build_object({ class => 'Koha::Cities', value => {city_country => 'AR', city_name => 'Córdoba'} }); |
| 898 |
|
| 899 |
my $mobj = $marseille->to_api({av_expand => 1}); |
| 900 |
my $cobj = $cordoba->to_api({av_expand => 1}); |
| 901 |
|
| 902 |
isnt($mobj->{_authorised_values}, undef, '_authorised_values exists for Marseille'); |
| 903 |
isnt($cobj->{_authorised_values}, undef, '_authorised_values exists for Córdoba'); |
| 904 |
|
| 905 |
is($mobj->{_authorised_values}->{country}->{lib}, $fr->lib, 'Authorised value for country expanded'); |
| 906 |
is($cobj->{_authorised_values}->{country}->{lib}, $ar->lib, 'Authorised value for country expanded'); |
| 907 |
|
| 908 |
|
| 909 |
$schema->storage->txn_rollback; |
| 910 |
}; |