|
Lines 26-31
use t::lib::Mocks;
Link Here
|
| 26 |
use Koha::AuthorisedValues; |
26 |
use Koha::AuthorisedValues; |
| 27 |
use Koha::Database; |
27 |
use Koha::Database; |
| 28 |
|
28 |
|
|
|
29 |
use JSON qw( encode_json ); |
| 30 |
|
| 29 |
my $schema = Koha::Database->new->schema; |
31 |
my $schema = Koha::Database->new->schema; |
| 30 |
my $builder = t::lib::TestBuilder->new; |
32 |
my $builder = t::lib::TestBuilder->new; |
| 31 |
|
33 |
|
|
Lines 34-40
t::lib::Mocks::mock_preference( 'RESTBasicAuth', 1 );
Link Here
|
| 34 |
|
36 |
|
| 35 |
subtest 'list_av_from_category() tests' => sub { |
37 |
subtest 'list_av_from_category() tests' => sub { |
| 36 |
|
38 |
|
| 37 |
plan tests => 11; |
39 |
plan tests => 22; |
| 38 |
|
40 |
|
| 39 |
$schema->storage->txn_begin; |
41 |
$schema->storage->txn_begin; |
| 40 |
|
42 |
|
|
Lines 83-87
subtest 'list_av_from_category() tests' => sub {
Link Here
|
| 83 |
$t->get_ok("//$unauth_userid:$password@/api/v1/authorised_value_categories/$av_cat/authorised_values") |
85 |
$t->get_ok("//$unauth_userid:$password@/api/v1/authorised_value_categories/$av_cat/authorised_values") |
| 84 |
->status_is(403); |
86 |
->status_is(403); |
| 85 |
|
87 |
|
|
|
88 |
# Test the query webservice endpoint for multiple av_cats |
| 89 |
my $av_cat_2 = |
| 90 |
$builder->build_object( { class => 'Koha::AuthorisedValueCategories', value => { category_name => 'cat_a' } } ); |
| 91 |
my $av_cat_3 = |
| 92 |
$builder->build_object( { class => 'Koha::AuthorisedValueCategories', value => { category_name => 'cat_b' } } ); |
| 93 |
my $query = { "me.category_name" => [ $av_cat_2->category_name, $av_cat_3->category_name ] }; |
| 94 |
$t->get_ok( "//$userid:$password@/api/v1/authorised_value_categories?q=" . encode_json($query) )->status_is(200) |
| 95 |
->json_is( [ $av_cat_2->to_api, $av_cat_3->to_api ] ); |
| 96 |
|
| 97 |
# Test the above but with x-koha-embed: authorised_values |
| 98 |
my $embedded_query = { "me.category_name" => [ $av_cat_2->category_name, $av_cat_3->category_name ] }; |
| 99 |
$t->get_ok( "//$userid:$password@/api/v1/authorised_value_categories?q=" |
| 100 |
. encode_json($embedded_query) => { 'x-koha-embed' => 'authorised_values' } )->status_is(200) |
| 101 |
->json_has( '/0/authorised_values', 'authorised_values object correctly embedded' ) |
| 102 |
->json_has( '/1/authorised_values', 'authorised_values object correctly embedded' ) |
| 103 |
->json_hasnt( '/2/', 'authorised_values object correctly embedded' ); |
| 104 |
|
| 105 |
# Test the query webservice endpoint for multiple av_cats with authorised_values embedded |
| 106 |
my $av_2 = $builder->build_object( |
| 107 |
{ class => 'Koha::AuthorisedValues', value => { category => $av_cat_2->category_name, lib => undef } } ); |
| 108 |
my $av_3 = $builder->build_object( |
| 109 |
{ |
| 110 |
class => 'Koha::AuthorisedValues', |
| 111 |
value => { category => $av_cat_2->category_name, lib => 'description_value' } |
| 112 |
} |
| 113 |
); |
| 114 |
|
| 115 |
my $embedded_av_query = { "me.category_name" => [ $av_cat_2->category_name ] }; |
| 116 |
$t->get_ok( "//$userid:$password@/api/v1/authorised_value_categories?q=" |
| 117 |
. encode_json($embedded_av_query) => { 'x-koha-embed' => 'authorised_values' } )->status_is(200) |
| 118 |
->json_is( [ { %{ $av_cat_2->to_api }, authorised_values => [ $av_2->to_api, $av_3->to_api ] } ] ); |
| 119 |
|
| 86 |
$schema->storage->txn_rollback; |
120 |
$schema->storage->txn_rollback; |
| 87 |
}; |
121 |
}; |
| 88 |
- |
|
|