View | Details | Raw Unified | Return to bug 13895
Collapse All | Expand All

(-)a/api/v1/swagger/paths.json (+3 lines)
Lines 17-22 Link Here
17
  "/checkouts/{checkout_id}": {
17
  "/checkouts/{checkout_id}": {
18
    "$ref": "paths/checkouts.json#/~1checkouts~1{checkout_id}"
18
    "$ref": "paths/checkouts.json#/~1checkouts~1{checkout_id}"
19
  },
19
  },
20
  "/checkouts/{checkout_id}/renewal": {
21
    "$ref": "paths/checkouts.json#/~1checkouts~1{checkout_id}~1renewal"
22
  },
20
  "/cities": {
23
  "/cities": {
21
    "$ref": "paths/cities.json#/~1cities"
24
    "$ref": "paths/cities.json#/~1cities"
22
  },
25
  },
(-)a/api/v1/swagger/paths/checkouts.json (-2 / +4 lines)
Lines 61-68 Link Here
61
          "circulate": "circulate_remaining_permissions"
61
          "circulate": "circulate_remaining_permissions"
62
        }
62
        }
63
      }
63
      }
64
    },
64
    }
65
    "put": {
65
  },
66
  "/checkouts/{checkout_id}/renewal": {
67
    "post": {
66
      "x-mojo-to": "Checkout#renew",
68
      "x-mojo-to": "Checkout#renew",
67
      "operationId": "renewCheckout",
69
      "operationId": "renewCheckout",
68
      "tags": ["patrons", "checkouts"],
70
      "tags": ["patrons", "checkouts"],
(-)a/t/db_dependent/api/v1/checkouts.t (-5 / +4 lines)
Lines 136-156 $dbh->do(q{ Link Here
136
}, {}, '*', '*', '*', 7, 1);
136
}, {}, '*', '*', '*', 7, 1);
137
137
138
my $expected_datedue = DateTime->now->add(days => 14)->set(hour => 23, minute => 59, second => 0);
138
my $expected_datedue = DateTime->now->add(days => 14)->set(hour => 23, minute => 59, second => 0);
139
$t->put_ok ( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id)
139
$t->post_ok ( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id . "/renewal" )
140
  ->status_is(200)
140
  ->status_is(200)
141
  ->json_is('/due_date' => output_pref( { dateformat => "rfc3339", dt => $expected_datedue }) );
141
  ->json_is('/due_date' => output_pref( { dateformat => "rfc3339", dt => $expected_datedue }) );
142
142
143
$t->put_ok( "//$unauth_userid:$unauth_password@/api/v1/checkouts/" . $issue3->issue_id)
143
$t->post_ok( "//$unauth_userid:$unauth_password@/api/v1/checkouts/" . $issue3->issue_id . "/renewal" )
144
  ->status_is(403)
144
  ->status_is(403)
145
  ->json_is({ error => "Authorization failure. Missing required permission(s).",
145
  ->json_is({ error => "Authorization failure. Missing required permission(s).",
146
              required_permissions => { circulate => "circulate_remaining_permissions" }
146
              required_permissions => { circulate => "circulate_remaining_permissions" }
147
            });
147
            });
148
148
149
$t->put_ok( "//$userid:$password@/api/v1/checkouts/" . $issue2->issue_id)
149
$t->post_ok( "//$userid:$password@/api/v1/checkouts/" . $issue2->issue_id . "/renewal" )
150
  ->status_is(200)
150
  ->status_is(200)
151
  ->json_is('/due_date' => output_pref({ dateformat => "rfc3339", dt => $expected_datedue}) );
151
  ->json_is('/due_date' => output_pref({ dateformat => "rfc3339", dt => $expected_datedue}) );
152
152
153
$t->put_ok( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id)
153
$t->post_ok( "//$userid:$password@/api/v1/checkouts/" . $issue1->issue_id . "/renewal" )
154
  ->status_is(403)
154
  ->status_is(403)
155
  ->json_is({ error => 'Renewal not authorized (too_many)' });
155
  ->json_is({ error => 'Renewal not authorized (too_many)' });
156
156
157
- 

Return to bug 13895