Bug 24432: Regresion test
authorAgustin Moyano <agustinmoyano@theke.io>
Wed, 15 Jan 2020 22:52:53 +0000 (19:52 -0300)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Thu, 23 Jan 2020 08:52:30 +0000 (08:52 +0000)
To test:
1. apply this patch
2. prove t/Koha/REST/Plugin/Query.t

Test should fail at this point.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

t/Koha/REST/Plugin/Query.t

index 7bf7c3c..fa69b55 100644 (file)
@@ -22,6 +22,7 @@ use Mojolicious::Lite;
 use Try::Tiny;
 
 use Koha::Cities;
+use Koha::Holds;
 
 app->log->level('error');
 
@@ -108,6 +109,20 @@ get '/dbic_merge_sorting_result_set' => sub {
     $c->render( json => $attributes, status => 200 );
 };
 
+get '/dbic_merge_sorting_date' => sub {
+    my $c = shift;
+    my $attributes = { a => 'a', b => 'b' };
+    my $result_set = Koha::Holds->new;
+    $attributes = $c->dbic_merge_sorting(
+        {
+            attributes => $attributes,
+            params     => { _match => 'exact', _order_by => [ '-hold_date' ] },
+            result_set => $result_set
+        }
+    );
+    $c->render( json => $attributes, status => 200 );
+};
+
 get '/build_query' => sub {
     my $c = shift;
     my ( $filtered_params, $reserved_params ) =
@@ -214,7 +229,7 @@ subtest 'extract_reserved_params() tests' => sub {
 
 subtest 'dbic_merge_sorting() tests' => sub {
 
-    plan tests => 15;
+    plan tests => 20;
 
     my $t = Test::Mojo->new;
 
@@ -240,6 +255,14 @@ subtest 'dbic_merge_sorting() tests' => sub {
         ]
       );
 
+    $t->get_ok('/dbic_merge_sorting_date')->status_is(200)
+      ->json_is( '/a' => 'a', 'Existing values are kept (a)' )
+      ->json_is( '/b' => 'b', 'Existing values are kept (b)' )->json_is(
+        '/order_by' => [
+            { -desc => 'reservedate' }
+        ]
+      );
+
     $t->get_ok('/dbic_merge_sorting_single')->status_is(200)
       ->json_is( '/a' => 'a', 'Existing values are kept (a)' )
       ->json_is( '/b' => 'b', 'Existing values are kept (b)' )->json_is(