From 3852d16a212f90069a7256bcff5407fdfd3646d2 Mon Sep 17 00:00:00 2001 From: Carsten Rose <carsten.rose@math.uzh.ch> Date: Sun, 7 Nov 2021 18:50:58 +0100 Subject: [PATCH] Refs #13330 - Fix unit test --- extension/Classes/Core/QuickFormQuery.php | 2 +- extension/Classes/Core/Save.php | 11 +++++------ extension/Tests/Unit/Core/SaveTest.php | 10 +++++----- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/extension/Classes/Core/QuickFormQuery.php b/extension/Classes/Core/QuickFormQuery.php index 65c66019e..8b8b4555c 100644 --- a/extension/Classes/Core/QuickFormQuery.php +++ b/extension/Classes/Core/QuickFormQuery.php @@ -576,7 +576,7 @@ class QuickFormQuery { // SAVE $save = new Save($this->formSpec, $this->feSpecAction, $this->feSpecNative, $this->feSpecNativeRaw); - $rc = $save->process($recordId, $formAction); + $rc = $save->process($recordId); if ($formMode == FORM_REST) { $data = $this->doRestPostPut($rc); diff --git a/extension/Classes/Core/Save.php b/extension/Classes/Core/Save.php index e3882d414..436ee89ce 100644 --- a/extension/Classes/Core/Save.php +++ b/extension/Classes/Core/Save.php @@ -94,7 +94,6 @@ class Save { * Starts save process. Returns recordId. * * @param $recordId - * @param $formAction * @return int * @throws \CodeException * @throws \DbException @@ -103,8 +102,8 @@ class Save { * @throws \UserFormException * @throws \UserReportException */ - public function process($recordId, FormAction $formAction) { - $rc = 0; + public function process($recordId) { + $formAction = new FormAction($this->formSpec, $this->dbArray[$this->dbIndexData]); if ($this->formSpec[F_MULTI_SQL] == '') { // If an old record exist: load it. Necessary to delete uploaded files which should be overwritten. @@ -156,7 +155,7 @@ class Save { } // Action: Paste - $this->pasteClipboard($this->formSpec[F_ID], $formAction); + $this->pasteClipboard($this->formSpec[F_ID] ?? '', $formAction); return $rc; } @@ -855,8 +854,8 @@ class Save { $this->store->setVar(SYSTEM_FORM_ELEMENT, "Column: " . $formElement[FE_NAME], STORE_SYSTEM); // Normalize FE_MODE - $mode = Support::handleEscapeSpaceComment($formElement[FE_MODE_SQL]); - $mode = empty($mode) ? $formElement[FE_MODE] : $this->evaluate->parse($mode); + $mode = Support::handleEscapeSpaceComment($formElement[FE_MODE_SQL] ?? ''); + $mode = empty($mode) ? ($formElement[FE_MODE] ?? '') : $this->evaluate->parse($mode); $this->feSpecNative[$key][FE_MODE] = $formElement[FE_MODE] = $mode; $this->feSpecNative[$key][FE_MODE_SQL] = $formElement[FE_MODE_SQL] = ''; diff --git a/extension/Tests/Unit/Core/SaveTest.php b/extension/Tests/Unit/Core/SaveTest.php index 6de3664c4..db7a82436 100644 --- a/extension/Tests/Unit/Core/SaveTest.php +++ b/extension/Tests/Unit/Core/SaveTest.php @@ -110,7 +110,7 @@ class SaveTest extends AbstractDatabaseTest { // ------------- Check: Insert ------------- // 1) Expect INSERT into Person $save = new Save($formSpec, [], $feSpecNative, $feSpecNative); - $save->process(); + $save->process(0); // Get newly save record $sql = "SELECT name, firstName FROM Person WHERE name like 'DoeTmp'"; @@ -127,7 +127,7 @@ class SaveTest extends AbstractDatabaseTest { $this->store::setVar(SIP_RECORD_ID, $id, STORE_SIP, true); // 1) Expect UPDATE Person - $save->process(); + $save->process($id); // Get newly save record $sql = "SELECT name, firstName FROM Person WHERE name like 'DoeTmp'"; @@ -187,7 +187,7 @@ class SaveTest extends AbstractDatabaseTest { * sqlAfter adds '+' after city name. */ $save = new Save($formSpec, [], $feSpecNative, $feSpecNative); - $save->process(); + $save->process(0); // Get newly save record $sql = "SELECT city FROM Address WHERE street like 'deleteMe'"; @@ -205,7 +205,7 @@ class SaveTest extends AbstractDatabaseTest { * sqlAfter adds '+' after city name. */ - $save->process(); + $save->process(0); // Get newly save record $sql = "SELECT city FROM Address WHERE street like 'deleteMe'"; @@ -238,7 +238,7 @@ class SaveTest extends AbstractDatabaseTest { $feSpecNative = HelperFormElement::formElementSetDefault($feSpecNative, $formSpec); $save = new Save($formSpec, [], $feSpecNative, $feSpecNative); - $save->process(); + $save->process(0); // Get newly save record $sql = "SELECT city FROM Address WHERE street like 'deleteMe'"; -- GitLab