Added Laurent's tests/model save() method

This commit is contained in:
MrCasual
2015-08-13 09:58:41 -04:00
parent c5f67cb371
commit 5d1b8524ea
3 changed files with 82 additions and 0 deletions

View File

@ -8,4 +8,12 @@ class Model extends \Sudzy\ValidModel {
$customValidators = new CustomValidator();
parent::__construct($customValidators->init());
}
function save() {
if ($this->created_at === null) {
$this->created_at = date("Y-m-d H:i:s");
}
parent::save();
}
}

View File

@ -4,6 +4,7 @@ use MailPoet\Models\Setting;
class SettingCest {
function _before() {
$this->before_time = time();
$this->data = array(
'name' => 'sending_method',
'value' => 'smtp'
@ -48,6 +49,39 @@ class SettingCest {
expect($conflict_setting->getValidationErrors()[0])->equals('value_is_short');
}
function itHasACreatedAtOnCreation() {
$setting = Setting::where('name', 'sending_method')
->findOne();
$time_difference = strtotime($setting->created_at) >= $this->before_time;
expect($time_difference)->equals(true);
}
function itHasAnUpdatedAtOnCreation() {
$setting = Setting::where('name', 'sending_method')
->findOne();
$time_difference = strtotime($setting->updated_at) >= $this->before_time;
expect($time_difference)->equals(true);
}
function itKeepsTheCreatedAtOnUpdate() {
$setting = Setting::where('name', 'sending_method')
->findOne();
$old_created_at = $setting->created_at;
$setting->value = 'http_api';
$setting->save();
expect($old_created_at)->equals($setting->created_at);
}
function itUpdatesTheUpdatedAtOnUpdate() {
$setting = Setting::where('name', 'sending_method')
->findOne();
$update_time = time();
$setting->value = 'http_api';
$setting->save();
$time_difference = strtotime($setting->updated_at) >= $update_time;
expect($time_difference)->equals(true);
}
function _after() {
$setting = Setting::where('name', $this->data['name'])
->findOne()

View File

@ -4,6 +4,7 @@ use MailPoet\Models\Subscriber;
class SubscriberCest {
function _before() {
$this->before_time = time();
$this->data = array(
'first_name' => 'John',
'last_name' => 'Mailer',
@ -82,6 +83,45 @@ class SubscriberCest {
expect($conflict_subscriber->getValidationErrors()[0])->equals('last_name_is_short');
}
function itHasACreatedAtOnCreation() {
$subscriber = Subscriber::where('email', $this->data['email'])
->findOne();
$time_difference = strtotime($subscriber->created_at) >= $this->before_time;
expect($time_difference)->equals(true);
}
function itHasAnUpdatedAtOnCreation() {
$subscriber = Subscriber::where('email', $this->data['email'])
->findOne();
$time_difference = strtotime($subscriber->updated_at) >= $this->before_time;
expect($time_difference)->equals(true);
}
function itKeepsTheCreatedAtOnUpdate() {
$subscriber = Subscriber::where('email', $this->data['email'])
->findOne();
$old_created_at = $subscriber->created_at;
$subscriber->first_name = 'New Name';
$subscriber->save();
expect($old_created_at)->equals($subscriber->created_at);
}
function itUpdatesTheUpdatedAtOnUpdate() {
$subscriber = Subscriber::where('email', $this->data['email'])
->findOne();
$update_time = time();
$subscriber->first_name = 'New Name';
$subscriber->save();
$time_difference = strtotime($subscriber->updated_at) >= $update_time;
expect($time_difference)->equals(true);
}
function _after() {
$subscriber = Subscriber::where('email', $this->data['email'])
->findOne()