diff options
-rw-r--r-- | application/front/controller/admin/ManageShaareController.php | 2 | ||||
-rw-r--r-- | tests/front/controller/admin/ManageShaareControllerTest/SaveBookmarkTest.php | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/application/front/controller/admin/ManageShaareController.php b/application/front/controller/admin/ManageShaareController.php index ffb0dae4..59ba2de9 100644 --- a/application/front/controller/admin/ManageShaareController.php +++ b/application/front/controller/admin/ManageShaareController.php | |||
@@ -127,7 +127,7 @@ class ManageShaareController extends ShaarliAdminController | |||
127 | $this->checkToken($request); | 127 | $this->checkToken($request); |
128 | 128 | ||
129 | // lf_id should only be present if the link exists. | 129 | // lf_id should only be present if the link exists. |
130 | $id = $request->getParam('lf_id') ? intval(escape($request->getParam('lf_id'))) : null; | 130 | $id = $request->getParam('lf_id') !== null ? intval(escape($request->getParam('lf_id'))) : null; |
131 | if (null !== $id && true === $this->container->bookmarkService->exists($id)) { | 131 | if (null !== $id && true === $this->container->bookmarkService->exists($id)) { |
132 | // Edit | 132 | // Edit |
133 | $bookmark = $this->container->bookmarkService->get($id); | 133 | $bookmark = $this->container->bookmarkService->get($id); |
diff --git a/tests/front/controller/admin/ManageShaareControllerTest/SaveBookmarkTest.php b/tests/front/controller/admin/ManageShaareControllerTest/SaveBookmarkTest.php index 58eaaa9b..a5e2dbc5 100644 --- a/tests/front/controller/admin/ManageShaareControllerTest/SaveBookmarkTest.php +++ b/tests/front/controller/admin/ManageShaareControllerTest/SaveBookmarkTest.php | |||
@@ -239,6 +239,30 @@ class SaveBookmarkTest extends TestCase | |||
239 | } | 239 | } |
240 | 240 | ||
241 | /** | 241 | /** |
242 | * Test save a bookmark - with ID #0 | ||
243 | */ | ||
244 | public function testSaveBookmarkWithIdZero(): void | ||
245 | { | ||
246 | $parameters = ['lf_id' => '0']; | ||
247 | |||
248 | $request = $this->createMock(Request::class); | ||
249 | $request | ||
250 | ->method('getParam') | ||
251 | ->willReturnCallback(function (string $key) use ($parameters): ?string { | ||
252 | return $parameters[$key] ?? null; | ||
253 | }) | ||
254 | ; | ||
255 | $response = new Response(); | ||
256 | |||
257 | $this->container->bookmarkService->expects(static::once())->method('exists')->with(0)->willReturn(true); | ||
258 | $this->container->bookmarkService->expects(static::once())->method('get')->with(0)->willReturn(new Bookmark()); | ||
259 | |||
260 | $result = $this->controller->save($request, $response); | ||
261 | |||
262 | static::assertSame(302, $result->getStatusCode()); | ||
263 | } | ||
264 | |||
265 | /** | ||
242 | * Change the password with a wrong existing password | 266 | * Change the password with a wrong existing password |
243 | */ | 267 | */ |
244 | public function testSaveBookmarkFromBookmarklet(): void | 268 | public function testSaveBookmarkFromBookmarklet(): void |