From fef046d851f4bc972dc39fbcacf79b9ea5c29290 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 27 Jan 2021 07:37:05 -0300 Subject: [PATCH] Bug 27330: (QA follow-up) Return 409 instead Signed-off-by: Tomas Cohen Arazi Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart (cherry picked from commit fd272244157ad0dc5e83a0cfb6430bbf1d3b90c8) Signed-off-by: Fridolin Somers (cherry picked from commit fd75ab1808940704f9a1445d14d43198e501040d) Signed-off-by: Andrew Fuerste-Henry --- Koha/REST/V1/Clubs/Holds.pm | 2 +- api/v1/swagger/paths/clubs.json | 8 +++++++- t/db_dependent/api/v1/clubs_holds.t | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Koha/REST/V1/Clubs/Holds.pm b/Koha/REST/V1/Clubs/Holds.pm index 67b7fdbbdc..21c95c1d15 100644 --- a/Koha/REST/V1/Clubs/Holds.pm +++ b/Koha/REST/V1/Clubs/Holds.pm @@ -132,7 +132,7 @@ sub add { if ( blessed $_ ) { if ($_->isa('Koha::Exceptions::ClubHold::NoPatrons')) { return $c->render( - status => 403, + status => 409, openapi => { error => $_->description } ); } diff --git a/api/v1/swagger/paths/clubs.json b/api/v1/swagger/paths/clubs.json index fb66e4107f..3da704f3eb 100644 --- a/api/v1/swagger/paths/clubs.json +++ b/api/v1/swagger/paths/clubs.json @@ -81,6 +81,12 @@ "$ref": "../definitions.json#/error" } }, + "409": { + "description": "Hold not allowed", + "schema": { + "$ref": "../definitions.json#/error" + } + }, "500": { "description": "Internal server error", "schema": { @@ -101,4 +107,4 @@ } } } -} \ No newline at end of file +} diff --git a/t/db_dependent/api/v1/clubs_holds.t b/t/db_dependent/api/v1/clubs_holds.t index 0f8ca8ef1f..e6cfde9729 100644 --- a/t/db_dependent/api/v1/clubs_holds.t +++ b/t/db_dependent/api/v1/clubs_holds.t @@ -86,7 +86,7 @@ subtest 'add() tests' => sub { $t->post_ok( "//$userid:$password@/api/v1/clubs/" . $club_without_enrollments->id . "/holds" => json => $data ) - ->status_is(403) + ->status_is(409) ->json_is( '/error' => "Cannot place a hold on a club without patrons." ); $t->post_ok( "//$userid:$password@/api/v1/clubs/" -- 2.39.5