Merge pull request #1577 from ArthurHoaro/fix/edit-zero

Fix a bug preventing to edit bookmark with ID #0
This commit is contained in:
ArthurHoaro 2020-10-02 14:24:07 +02:00 committed by GitHub
commit 1db2ebbd79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 1 deletions

View file

@ -127,7 +127,7 @@ class ManageShaareController extends ShaarliAdminController
$this->checkToken($request);
// lf_id should only be present if the link exists.
$id = $request->getParam('lf_id') ? intval(escape($request->getParam('lf_id'))) : null;
$id = $request->getParam('lf_id') !== null ? intval(escape($request->getParam('lf_id'))) : null;
if (null !== $id && true === $this->container->bookmarkService->exists($id)) {
// Edit
$bookmark = $this->container->bookmarkService->get($id);

View file

@ -238,6 +238,30 @@ class SaveBookmarkTest extends TestCase
static::assertSame(302, $result->getStatusCode());
}
/**
* Test save a bookmark - with ID #0
*/
public function testSaveBookmarkWithIdZero(): void
{
$parameters = ['lf_id' => '0'];
$request = $this->createMock(Request::class);
$request
->method('getParam')
->willReturnCallback(function (string $key) use ($parameters): ?string {
return $parameters[$key] ?? null;
})
;
$response = new Response();
$this->container->bookmarkService->expects(static::once())->method('exists')->with(0)->willReturn(true);
$this->container->bookmarkService->expects(static::once())->method('get')->with(0)->willReturn(new Bookmark());
$result = $this->controller->save($request, $response);
static::assertSame(302, $result->getStatusCode());
}
/**
* Change the password with a wrong existing password
*/