From 77e4e5fe498d324c8c4112a35e0a1357119c3ea1 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Tue, 10 Sep 2019 16:59:26 +0100
Subject: [PATCH] FIX #11270 TIME 0:30 return custom field id in creation

---
 .../controllers/CustomFieldController.php            |  4 ++--
 .../app/customField/CustomFieldControllerTest.php    | 12 +++---------
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/src/app/customField/controllers/CustomFieldController.php b/src/app/customField/controllers/CustomFieldController.php
index 45e46ad2d82..a4a24201af3 100644
--- a/src/app/customField/controllers/CustomFieldController.php
+++ b/src/app/customField/controllers/CustomFieldController.php
@@ -47,13 +47,13 @@ class CustomFieldController
             return $response->withStatus(400)->withJson(['errors' => 'Custom field with this label already exists']);
         }
 
-        CustomFieldModel::create([
+        $id = CustomFieldModel::create([
             'label'     => $body['label'],
             'type'      => $body['type'],
             'values'    => empty($body['values']) ? null : json_encode($body['values'])
         ]);
 
-        return $response->withStatus(204);
+        return $response->withStatus(204)->withJson(['customFieldId' => $id]);
     }
 
     public function update(Request $request, Response $response, array $args)
diff --git a/test/unitTests/app/customField/CustomFieldControllerTest.php b/test/unitTests/app/customField/CustomFieldControllerTest.php
index 4595de03c9a..11e5b0574b6 100644
--- a/test/unitTests/app/customField/CustomFieldControllerTest.php
+++ b/test/unitTests/app/customField/CustomFieldControllerTest.php
@@ -30,17 +30,11 @@ class CustomFieldControllerTest extends TestCase
 
         $response     = $customFieldController->create($fullRequest, new \Slim\Http\Response());
         $this->assertSame(204, $response->getStatusCode());
+        $responseBody = json_decode((string)$response->getBody());
 
-        $field = \CustomField\models\CustomFieldModel::get([
-            'select' => ['id'], 'where' => ['label = ?'], 'data' => ['mon custom'], 'limit' => 1, 'orderBy' => ['id DESC']
-        ]);
-
-        self::$id = $field[0]['id'];
-
-        $field = \CustomField\models\CustomFieldModel::getById(['id' => self::$id]);
-        $this->assertSame('mon custom', $field['label']);
-        $this->assertSame('select', $field['type']);
+        $this->assertInternalType('int', $responseBody->customFieldId);
 
+        self::$id = $responseBody->customFieldId;
 
         //  Errors
         $environment    = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'POST']);
-- 
GitLab