Bug 28586: (follow-up) updated_by should be set
authorTomas Cohen Arazi <tomascohen@theke.io>
Thu, 17 Jun 2021 19:02:35 +0000 (16:02 -0300)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 21 Jun 2021 08:09:58 +0000 (10:09 +0200)
This patch makes the route set the 'updated_by' attribute as well, when
resolving a return claim through the API.

Tests are added for this behavior.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/return_claims.t
=> SUCCESS: Tests pass! updated_by is set correctly!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Koha/REST/V1/ReturnClaims.pm
t/db_dependent/api/v1/return_claims.t

index d33a326..118e117 100644 (file)
@@ -171,6 +171,7 @@ sub resolve_claim {
                 resolution  => $resolution,
                 resolved_by => $resolved_by,
                 resolved_on => \'NOW()',
+                updated_by  => $resolved_by,
             }
         )->store;
         $claim->discard_changes;
index 1664102..aac1a3d 100755 (executable)
@@ -175,7 +175,7 @@ subtest 'update_notes() tests' => sub {
 
 subtest 'resolve_claim() tests' => sub {
 
-    plan tests => 8;
+    plan tests => 9;
 
     $schema->storage->txn_begin;
 
@@ -204,7 +204,12 @@ subtest 'resolve_claim() tests' => sub {
 
     my $claim_id = $claim->id;
 
-    $claim->created_by(undef)->store; # resolve the claim must work even if the created_by patron has been removed
+    $claim->set(
+        {
+            created_by => undef,
+            updated_by => undef,
+        }
+    )->store; # resolve the claim must work even if the created_by patron has been removed
 
     # Resolve a claim
     $t->put_ok(
@@ -217,6 +222,7 @@ subtest 'resolve_claim() tests' => sub {
     $claim->discard_changes;
     is( $claim->resolution, "FOUNDINLIB" );
     is( $claim->resolved_by, $librarian->id );
+    is( $claim->updated_by, $librarian->id );
     ok( $claim->resolved_on );
 
     # Make sure the claim doesn't exist on the DB anymore