From c4628d4f78c6ea6f24b3b65f97923b151952ea3f Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Tue, 30 Jun 2020 15:58:06 +0200 Subject: [PATCH] Update usages of form factory [MAILPOET-2985] --- lib/API/JSON/v1/Forms.php | 25 ++++++------------- lib/AdminPages/Pages/FormEditor.php | 2 +- .../phpstan-baseline-integration-tests.neon | 2 +- tests/integration/API/JSON/v1/FormsTest.php | 12 --------- 4 files changed, 9 insertions(+), 32 deletions(-) diff --git a/lib/API/JSON/v1/Forms.php b/lib/API/JSON/v1/Forms.php index a26d4a32ed..2551ebb3b7 100644 --- a/lib/API/JSON/v1/Forms.php +++ b/lib/API/JSON/v1/Forms.php @@ -2,7 +2,6 @@ namespace MailPoet\API\JSON\v1; -use MailPoet\AdminPages\Pages\FormEditor; use MailPoet\API\JSON\Endpoint as APIEndpoint; use MailPoet\API\JSON\Error as APIError; use MailPoet\Config\AccessControl; @@ -88,25 +87,15 @@ class Forms extends APIEndpoint { } public function create($data = []) { - if (isset($data['template-id']) && isset(FormEditor::TEMPLATES[$data['template-id']])) { - return $this->save( - $this->formFactory->createFormFromTemplate( - FormEditor::TEMPLATES[$data['template-id']] - ) - ); + if (isset($data['template-id'])) { + $formEntity = $this->formFactory->createFormFromTemplate($data['template-id']); + } else { + $formEntity = $this->formFactory->createEmptyForm(); } - return $this->save($this->formFactory->createEmptyForm()); - } - public function save(Form $form) { - $errors = $form->getErrors(); - - if (empty($errors)) { - $form = Form::findOne($form->id); - if(!$form instanceof Form) return $this->errorResponse(); - return $this->successResponse($form->asArray()); - } - return $this->badRequest($errors); + $form = Form::findOne($formEntity->getId()); + if(!$form instanceof Form) return $this->errorResponse(); + return $this->successResponse($form->asArray()); } public function previewEditor($data = []) { diff --git a/lib/AdminPages/Pages/FormEditor.php b/lib/AdminPages/Pages/FormEditor.php index 94ac70df5c..b0643abf3e 100644 --- a/lib/AdminPages/Pages/FormEditor.php +++ b/lib/AdminPages/Pages/FormEditor.php @@ -240,7 +240,7 @@ class FormEditor { $this->wp->wpSafeRedirect( $this->wp->getSiteUrl(null, - '/wp-admin/admin.php?page=mailpoet-form-editor&id=' . $form->id() + '/wp-admin/admin.php?page=mailpoet-form-editor&id=' . $form->getId() ) ); exit; diff --git a/tasks/phpstan/phpstan-baseline-integration-tests.neon b/tasks/phpstan/phpstan-baseline-integration-tests.neon index ec62622fec..4a1e8f231e 100644 --- a/tasks/phpstan/phpstan-baseline-integration-tests.neon +++ b/tasks/phpstan/phpstan-baseline-integration-tests.neon @@ -27,7 +27,7 @@ parameters: - message: "#^Cannot call method asArray\\(\\) on MailPoet\\\\Models\\\\Form\\|false\\.$#" - count: 8 + count: 7 path: ../../tests/integration/API/JSON/v1/FormsTest.php - diff --git a/tests/integration/API/JSON/v1/FormsTest.php b/tests/integration/API/JSON/v1/FormsTest.php index 843133ffc7..f123e9df92 100644 --- a/tests/integration/API/JSON/v1/FormsTest.php +++ b/tests/integration/API/JSON/v1/FormsTest.php @@ -72,18 +72,6 @@ class FormsTest extends \MailPoetTest { expect($response->data['name'])->equals(''); } - public function testItCanSaveAForm() { - $formData = [ - 'name' => 'My First Form', - ]; - - $response = $this->endpoint->save(Form::createOrUpdate($formData)); - expect($response->status)->equals(APIResponse::STATUS_OK); - expect($response->data)->equals( - Form::where('name', 'My First Form')->findOne()->asArray() - ); - } - public function testItCanStoreDataForPreview() { $response = $this->endpoint->create(); $formId = $response->data['id'];