RMAINT: Remove x-koha-query usage in biblios.t

RMAINT Comment: We remove x-koha-query in the header support
inadvertantly when backporting bug 33974. As such we backport the test
fix only for bug 33971.

This patch removes handling of x-koha-query from the tests.

To test:
1. Run:
   $ ktd --shell
  k$ prove t/db_dependent/api/v1/biblios.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests still pass! Change from x-koha-header to q= gives same
results.
4. Sign off :-D

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0f1b048b5d)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Tomás Cohen Arazi 2023-06-13 10:44:47 -03:00 committed by Martin Renvoize
parent 4cdb3a57db
commit 84cfa20a73
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F

View file

@ -28,6 +28,8 @@ use Test::Warn;
use t::lib::Mocks; use t::lib::Mocks;
use t::lib::TestBuilder; use t::lib::TestBuilder;
use Mojo::JSON qw(encode_json);
use C4::Auth; use C4::Auth;
use C4::Circulation qw( AddIssue AddReturn ); use C4::Circulation qw( AddIssue AddReturn );
@ -1653,45 +1655,34 @@ subtest 'list() tests' => sub {
$record->leader(' nam 3 4500'); $record->leader(' nam 3 4500');
$biblio->metadata->metadata($record->as_xml_record('UNIMARC'))->store; $biblio->metadata->metadata($record->as_xml_record('UNIMARC'))->store;
my $biblionumber1 = $biblio->biblionumber; my $biblio_id_1 = $biblio->id;
t::lib::Mocks::mock_preference('marcflavour', 'MARC21'); t::lib::Mocks::mock_preference('marcflavour', 'MARC21');
my $biblionumber2 = $builder->build_sample_biblio->biblionumber; my $biblio_id_2 = $builder->build_sample_biblio->id;
my $search = my $query = encode_json( [ { biblio_id => $biblio_id_1 }, { biblio_id => $biblio_id_2 } ] );
"[{\"biblionumber\": \"$biblionumber1\"}, {\"biblionumber\": \"$biblionumber2\"}]";
$t->get_ok( $t->get_ok("//$userid:$password@/api/v1/biblios?q=$query")->status_is(403);
"//$userid:$password@/api/v1/biblios/" => { 'x-koha-query' => $search }
)->status_is(403);
$patron->flags(4)->store; $patron->flags(4)->store;
$t->get_ok( "//$userid:$password@/api/v1/biblios/" => $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/weird+format' } )
{ Accept => 'application/weird+format', 'x-koha-query' => $search } ) ->status_is(400);
->status_is(400);
$t->get_ok( "//$userid:$password@/api/v1/biblios/" => $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/json' } )->status_is(200);
{ Accept => 'application/json', 'x-koha-query' => $search } )
->status_is(200);
my $result = $t->get_ok( "//$userid:$password@/api/v1/biblios/" => my $result = $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/marcxml+xml' } )
{ Accept => 'application/marcxml+xml', 'x-koha-query' => $search } ) ->status_is(200)->tx->res->body;
->status_is(200)->tx->res->body;
my $encoded_title = Encode::encode( "UTF-8", $title_with_diacritics ); my $encoded_title = Encode::encode( "UTF-8", $title_with_diacritics );
like( $result, qr/\Q$encoded_title/, "The title is not double encoded" ); like( $result, qr/\Q$encoded_title/, "The title is not double encoded" );
$t->get_ok( "//$userid:$password@/api/v1/biblios/" => $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/marc-in-json' } )
{ Accept => 'application/marc-in-json', 'x-koha-query' => $search } ) ->status_is(200);
->status_is(200);
$t->get_ok( "//$userid:$password@/api/v1/biblios/" => $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/marc' } )->status_is(200);
{ Accept => 'application/marc', 'x-koha-query' => $search } )
->status_is(200);
$t->get_ok( "//$userid:$password@/api/v1/biblios/" => $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'text/plain' } )->status_is(200);
{ Accept => 'text/plain', 'x-koha-query' => $search } )
->status_is(200);
# DELETE any biblio with ISBN = TOMAS # DELETE any biblio with ISBN = TOMAS
Koha::Biblios->search({ 'biblioitem.isbn' => 'TOMAS' }, { join => [ 'biblioitem' ] }) Koha::Biblios->search({ 'biblioitem.isbn' => 'TOMAS' }, { join => [ 'biblioitem' ] })
@ -1819,4 +1810,4 @@ subtest 'update_item() tests' => sub {
->json_is('/replacement_price', 30); ->json_is('/replacement_price', 30);
$schema->storage->txn_rollback; $schema->storage->txn_rollback;
}; };