- Model returns validation errors upon save (Closes #122)

- Fixed acceptance test for Newsletters (Closes #126)
This commit is contained in:
MrCasual
2015-09-13 19:40:42 -04:00
parent 087d96838b
commit e8abc4cb47
9 changed files with 17 additions and 36 deletions

View File

@ -16,15 +16,15 @@ class Model extends \Sudzy\ValidModel {
parent::save();
return true;
} catch (\Sudzy\ValidationException $e) {
return false;
return array_unique($e->getValidationErrors());
} catch (\PDOException $e) {
return false;
return $e->getMessage();
}
}
private function setTimestamp() {
if ($this->created_at === null) {
$this->created_at = date("Y-m-d H:i:s");
$this->created_at = date('Y-m-d H:i:s');
}
}
}

View File

@ -83,12 +83,7 @@ class Subscriber extends Model {
}
$subscriber->hydrate($data);
$saved = $subscriber->save();
return $subscriber->save();
if($saved === false) {
return $subscriber->getValidationErrors();
} else {
return true;
}
}
}

View File

@ -27,13 +27,8 @@ class Newsletters {
function save($args) {
$model = Newsletter::create();
$model->hydrate($args);
$saved = $model->save();
if(!$saved) {
wp_send_json($model->getValidationErrors());
}
wp_send_json(true);
$result = $model->save();
wp_send_json($result);
}
function update($args) {

View File

@ -25,13 +25,8 @@ class Segments {
function save($args) {
$model = Segment::create();
$model->hydrate($args);
$saved = $model->save();
if(!$saved) {
wp_send_json($model->getValidationErrors());
}
wp_send_json(true);
$result = $model->save();
wp_send_json($result);
}
function update($args) {

View File

@ -1,7 +1,8 @@
<?php
namespace MailPoet\Router;
use \MailPoet\Models\Subscriber;
use \MailPoet\Listing;
use MailPoet\Listing;
use MailPoet\Models\Subscriber;
if(!defined('ABSPATH')) exit;
@ -35,12 +36,7 @@ class Subscribers {
function save($data = array()) {
$result = Subscriber::createOrUpdate($data);
if($result !== true) {
wp_send_json($result);
} else {
wp_send_json(true);
}
}
function update($data) {

View File

@ -17,7 +17,7 @@ class NewslettersPageCest {
}
function iCanAddNewsletterFromListingPage(AcceptanceTester $I) {
$I->see('No newsletters found');
$I->waitForElement('.no-items', $this->waitTime);
$I->click('New', '#newsletters');
$I->fillField('Subject', 'first newsletter');
$I->fillField('Body', 'some body');

View File

@ -23,7 +23,7 @@ class SegmentCest {
function itHasToBeValid() {
expect($this->saved)->equals(true);
$empty_model = Segment::create();
expect($empty_model->save())->equals(false);
expect($empty_model->save())->notEquals(true);
$validations = $empty_model->getValidationErrors();
expect(count($validations))->equals(2);
}

View File

@ -21,7 +21,7 @@ class SettingCest {
function itHasToBeValid() {
expect($this->result)->equals(true);
$empty_model = Setting::create();
expect($empty_model->save())->equals(false);
expect($empty_model->save())->notEquals(true);
$validations = $empty_model->getValidationErrors();
expect(count($validations))->equals(4);
}

View File

@ -50,7 +50,7 @@ class SubscriberCest {
$conflict_subscriber = Subscriber::create();
$conflict_subscriber->hydrate($this->data);
$saved = $conflict_subscriber->save();
expect($saved)->equals(false);
expect($saved)->notEquals(true);
}
function itHasAStatus() {