|
Lines 310-326
subtest 'update() tests' => sub {
Link Here
|
| 310 |
warning_like { |
310 |
warning_like { |
| 311 |
$t->put_ok( "//$userid:$password@/api/v1/patrons/" . $patron_2->borrowernumber => json => $newpatron ) |
311 |
$t->put_ok( "//$userid:$password@/api/v1/patrons/" . $patron_2->borrowernumber => json => $newpatron ) |
| 312 |
->status_is(409) |
312 |
->status_is(409) |
| 313 |
->json_has( '/error' => "Fails when trying to update to an existing cardnumber or userid") |
313 |
->json_has( '/error', "Fails when trying to update to an existing cardnumber or userid") |
| 314 |
->json_is( '/conflict', 'cardnumber' ); } |
314 |
->json_like( '/conflict' => qr/(borrowers\.)?cardnumber/ ); } |
| 315 |
qr/^DBD::mysql::st execute failed: Duplicate entry '(.*?)' for key 'cardnumber'/; |
315 |
qr/^DBD::mysql::st execute failed: Duplicate entry '(.*?)' for key '(borrowers\.)?cardnumber'/; |
| 316 |
|
316 |
|
| 317 |
$newpatron->{ cardnumber } = $patron_1->id . $patron_2->id; |
317 |
$newpatron->{ cardnumber } = $patron_1->id . $patron_2->id; |
| 318 |
$newpatron->{ userid } = "user" . $patron_1->id.$patron_2->id; |
318 |
$newpatron->{ userid } = "user" . $patron_1->id.$patron_2->id; |
| 319 |
$newpatron->{ surname } = "user" . $patron_1->id.$patron_2->id; |
319 |
$newpatron->{ surname } = "user" . $patron_1->id.$patron_2->id; |
| 320 |
|
320 |
|
| 321 |
$t->put_ok( "//$userid:$password@/api/v1/patrons/" . $patron_2->borrowernumber => json => $newpatron ) |
321 |
my $result = $t->put_ok( "//$userid:$password@/api/v1/patrons/" . $patron_2->borrowernumber => json => $newpatron ) |
| 322 |
->status_is(200, 'Patron updated successfully') |
322 |
->status_is(200, 'Patron updated successfully'); |
| 323 |
->json_has($newpatron); |
323 |
|
|
|
324 |
# Put back the RO attributes |
| 325 |
$newpatron->{patron_id} = $unauthorized_patron->to_api->{patron_id}; |
| 326 |
$newpatron->{restricted} = $unauthorized_patron->to_api->{restricted}; |
| 327 |
$newpatron->{anonymized} = $unauthorized_patron->to_api->{anonymized}; |
| 328 |
is_deeply($result->tx->res->json, $newpatron, 'Returned patron from update matches expected'); |
| 329 |
|
| 324 |
is(Koha::Patrons->find( $patron_2->id )->cardnumber, |
330 |
is(Koha::Patrons->find( $patron_2->id )->cardnumber, |
| 325 |
$newpatron->{ cardnumber }, 'Patron is really updated!'); |
331 |
$newpatron->{ cardnumber }, 'Patron is really updated!'); |
| 326 |
|
332 |
|