From 97cad07fed66ded0b8a5b23286d2827dc85967e6 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Tue, 13 Jun 2023 10:44:47 -0300
Subject: [PATCH] Bug 33971: Remove x-koha-query usage in biblios.t

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
---
 t/db_dependent/api/v1/biblios.t | 45 +++++++++++++--------------------
 1 file changed, 18 insertions(+), 27 deletions(-)

diff --git a/t/db_dependent/api/v1/biblios.t b/t/db_dependent/api/v1/biblios.t
index eb6dcaa78b4..04379ddf11c 100755
--- a/t/db_dependent/api/v1/biblios.t
+++ b/t/db_dependent/api/v1/biblios.t
@@ -28,6 +28,8 @@ use Test::Warn;
 use t::lib::Mocks;
 use t::lib::TestBuilder;
 
+use Mojo::JSON qw(encode_json);
+
 use C4::Auth;
 use C4::Circulation qw( AddIssue AddReturn );
 
@@ -1646,45 +1648,34 @@ subtest 'list() tests' => sub {
     $record->leader('     nam         3  4500');
     $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');
-    my $biblionumber2 = $builder->build_sample_biblio->biblionumber;
+    my $biblio_id_2 = $builder->build_sample_biblio->id;
 
-    my $search =
-"[{\"biblionumber\": \"$biblionumber1\"}, {\"biblionumber\": \"$biblionumber2\"}]";
-    $t->get_ok(
-        "//$userid:$password@/api/v1/biblios/" => { 'x-koha-query' => $search }
-    )->status_is(403);
+    my $query = encode_json( [ { biblio_id => $biblio_id_1 }, { biblio_id => $biblio_id_2 } ] );
+
+    $t->get_ok("//$userid:$password@/api/v1/biblios?q=$query")->status_is(403);
 
     $patron->flags(4)->store;
 
-    $t->get_ok( "//$userid:$password@/api/v1/biblios/" =>
-          { Accept => 'application/weird+format', 'x-koha-query' => $search } )
-      ->status_is(400);
+    $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/weird+format' } )
+        ->status_is(400);
 
-    $t->get_ok( "//$userid:$password@/api/v1/biblios/" =>
-          { Accept => 'application/json', 'x-koha-query' => $search } )
-      ->status_is(200);
+    $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/json' } )->status_is(200);
 
-    my $result = $t->get_ok( "//$userid:$password@/api/v1/biblios/" =>
-          { Accept => 'application/marcxml+xml', 'x-koha-query' => $search } )
-      ->status_is(200)->tx->res->body;
+    my $result = $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/marcxml+xml' } )
+        ->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" );
 
-    $t->get_ok( "//$userid:$password@/api/v1/biblios/" =>
-          { Accept => 'application/marc-in-json', 'x-koha-query' => $search } )
-      ->status_is(200);
+    $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/marc-in-json' } )
+        ->status_is(200);
 
-    $t->get_ok( "//$userid:$password@/api/v1/biblios/" =>
-          { Accept => 'application/marc', 'x-koha-query' => $search } )
-      ->status_is(200);
+    $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'application/marc' } )->status_is(200);
 
-    $t->get_ok( "//$userid:$password@/api/v1/biblios/" =>
-          { Accept => 'text/plain', 'x-koha-query' => $search } )
-      ->status_is(200);
+    $t->get_ok( "//$userid:$password@/api/v1/biblios?q=$query" => { Accept => 'text/plain' } )->status_is(200);
 
     $schema->storage->txn_rollback;
 };
@@ -1801,4 +1792,4 @@ subtest 'update_item() tests' => sub {
     ->json_is('/replacement_price', 30);
 
   $schema->storage->txn_rollback;
-};
\ No newline at end of file
+};
-- 
2.34.1