]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Return 201 on user creation
authorJeremy Benoist <jeremy.benoist@gmail.com>
Fri, 2 Jun 2017 18:03:25 +0000 (20:03 +0200)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Fri, 2 Jun 2017 18:03:25 +0000 (20:03 +0200)
src/Wallabag/ApiBundle/Controller/UserRestController.php
tests/Wallabag/ApiBundle/Controller/UserRestControllerTest.php

index a1d7c1ff72ce0f25f5dd4a4ba9a485443e662c8d..8f675b8df9431c93f64ef23fc45319c3f23e5f19 100644 (file)
@@ -46,7 +46,9 @@ class UserRestController extends WallabagRestController
         if (!$this->getParameter('fosuser_registration') || !$this->get('craue_config')->get('api_user_registration')) {
             $json = $this->get('serializer')->serialize(['error' => "Server doesn't allow registrations"], 'json');
 
-            return (new JsonResponse())->setJson($json)->setStatusCode(403);
+            return (new JsonResponse())
+                ->setJson($json)
+                ->setStatusCode(JsonResponse::HTTP_FORBIDDEN);
         }
 
         $userManager = $this->get('fos_user.user_manager');
@@ -90,7 +92,9 @@ class UserRestController extends WallabagRestController
 
             $json = $this->get('serializer')->serialize(['error' => $errors], 'json');
 
-            return (new JsonResponse())->setJson($json)->setStatusCode(400);
+            return (new JsonResponse())
+                ->setJson($json)
+                ->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
         }
 
         $userManager->updateUser($user);
@@ -99,17 +103,18 @@ class UserRestController extends WallabagRestController
         $event = new UserEvent($user, $request);
         $this->get('event_dispatcher')->dispatch(FOSUserEvents::USER_CREATED, $event);
 
-        return $this->sendUser($user);
+        return $this->sendUser($user, JsonResponse::HTTP_CREATED);
     }
 
     /**
      * Send user response.
      *
      * @param User $user
+     * @param int  $status HTTP Status code to send
      *
      * @return JsonResponse
      */
-    private function sendUser(User $user)
+    private function sendUser(User $user, $status = JsonResponse::HTTP_OK)
     {
         $json = $this->get('serializer')->serialize(
             $user,
@@ -117,7 +122,9 @@ class UserRestController extends WallabagRestController
             SerializationContext::create()->setGroups(['user_api'])
         );
 
-        return (new JsonResponse())->setJson($json);
+        return (new JsonResponse())
+            ->setJson($json)
+            ->setStatusCode($status);
     }
 
     /**
index c1095da87b76de372dc5164898af3cf0daf648a7..5735bc5819e78cdf2e79db188f8d3d907da1a127 100644 (file)
@@ -52,7 +52,7 @@ class UserRestControllerTest extends WallabagApiTestCase
             'email' => 'wallabag@google.com',
         ]);
 
-        $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
+        $this->assertEquals(201, $this->client->getResponse()->getStatusCode());
 
         $content = json_decode($this->client->getResponse()->getContent(), true);
 
@@ -81,7 +81,7 @@ class UserRestControllerTest extends WallabagApiTestCase
             'email' => 'wallabag@google.com',
         ]);
 
-        $this->assertEquals(200, $client->getResponse()->getStatusCode());
+        $this->assertEquals(201, $client->getResponse()->getStatusCode());
 
         $content = json_decode($client->getResponse()->getContent(), true);