@@ -, +, @@ --- api/v1/swagger/paths.json | 3 +++ api/v1/swagger/paths/checkouts.json | 6 ++++-- t/db_dependent/api/v1/checkouts.t | 8 ++++---- 3 files changed, 11 insertions(+), 6 deletions(-) --- a/api/v1/swagger/paths.json +++ a/api/v1/swagger/paths.json @@ -17,6 +17,9 @@ "/checkouts/{checkout_id}": { "$ref": "paths/checkouts.json#/~1checkouts~1{checkout_id}" }, + "/checkouts/{checkout_id}/renewal": { + "$ref": "paths/checkouts.json#/~1checkouts~1{checkout_id}~1renewal" + }, "/cities": { "$ref": "paths/cities.json#/~1cities" }, --- a/api/v1/swagger/paths/checkouts.json +++ a/api/v1/swagger/paths/checkouts.json @@ -61,8 +61,10 @@ "circulate": "circulate_remaining_permissions" } } - }, - "put": { + } + }, + "/checkouts/{checkout_id}/renewal": { + "post": { "x-mojo-to": "Checkout#renew", "operationId": "renewCheckout", "tags": ["patrons", "checkouts"], --- a/t/db_dependent/api/v1/checkouts.t +++ a/t/db_dependent/api/v1/checkouts.t @@ -136,21 +136,21 @@ $dbh->do(q{ }, {}, '*', '*', '*', 7, 1); my $expected_datedue = DateTime->now->add(days => 14)->set(hour => 23, minute => 59, second => 0); -$t->put_ok ( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id) +$t->post_ok ( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id . "/renewal" ) ->status_is(200) ->json_is('/due_date' => output_pref( { dateformat => "rfc3339", dt => $expected_datedue }) ); -$t->put_ok( "//$unauth_userid:$unauth_password@/api/v1/checkouts/" . $issue3->issue_id) +$t->post_ok( "//$unauth_userid:$unauth_password@/api/v1/checkouts/" . $issue3->issue_id . "/renewal" ) ->status_is(403) ->json_is({ error => "Authorization failure. Missing required permission(s).", required_permissions => { circulate => "circulate_remaining_permissions" } }); -$t->put_ok( "//$userid:$password@/api/v1/checkouts/" . $issue2->issue_id) +$t->post_ok( "//$userid:$password@/api/v1/checkouts/" . $issue2->issue_id . "/renewal" ) ->status_is(200) ->json_is('/due_date' => output_pref({ dateformat => "rfc3339", dt => $expected_datedue}) ); -$t->put_ok( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id) +$t->post_ok( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id . "/renewal" ) ->status_is(403) ->json_is({ error => 'Renewal not authorized (too_many)' }); --