- Updates unit test
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
namespace MailPoet\Newsletter\Shortcodes\Categories;
|
namespace MailPoet\Newsletter\Shortcodes\Categories;
|
||||||
|
|
||||||
use MailPoet\Models\Setting;
|
use MailPoet\Models\Setting;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber as SubscriberModel;
|
||||||
use MailPoet\Statistics\Track\Unsubscribes;
|
use MailPoet\Statistics\Track\Unsubscribes;
|
||||||
use MailPoet\Subscription\Url as SubscriptionUrl;
|
use MailPoet\Subscription\Url as SubscriptionUrl;
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ class Link {
|
|||||||
$subscriber['id'] :
|
$subscriber['id'] :
|
||||||
$subscriber,
|
$subscriber,
|
||||||
'subscriber_token' => (isset($subscriber['id'])) ?
|
'subscriber_token' => (isset($subscriber['id'])) ?
|
||||||
Subscriber::generateToken($subscriber['email']) :
|
SubscriberModel::generateToken($subscriber['email']) :
|
||||||
false,
|
false,
|
||||||
'queue' => (isset($queue['id'])) ?
|
'queue' => (isset($queue['id'])) ?
|
||||||
$queue['id'] :
|
$queue['id'] :
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
namespace MailPoet\Newsletter\Shortcodes\Categories;
|
namespace MailPoet\Newsletter\Shortcodes\Categories;
|
||||||
|
|
||||||
use MailPoet\Models\SubscriberCustomField;
|
use MailPoet\Models\SubscriberCustomField;
|
||||||
|
use MailPoet\Models\Subscriber as SubscriberModel;
|
||||||
|
|
||||||
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
||||||
|
|
||||||
@ -30,7 +31,7 @@ class Subscriber {
|
|||||||
return $default_value;
|
return $default_value;
|
||||||
break;
|
break;
|
||||||
case 'count':
|
case 'count':
|
||||||
return Subscriber::filter('subscribed')->count();
|
return SubscriberModel::filter('subscribed')->count();
|
||||||
break;
|
break;
|
||||||
case preg_match('/cf_(\d+)/', $action, $custom_field) ? true : false:
|
case preg_match('/cf_(\d+)/', $action, $custom_field) ? true : false:
|
||||||
if(empty($subscriber['id'])) return false;
|
if(empty($subscriber['id'])) return false;
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use MailPoet\Config\Populator;
|
use MailPoet\Config\Populator;
|
||||||
|
use MailPoet\Models\CustomField;
|
||||||
use MailPoet\Models\SendingQueue;
|
use MailPoet\Models\SendingQueue;
|
||||||
use MailPoet\Models\Setting;
|
use MailPoet\Models\Setting;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
|
use MailPoet\Models\SubscriberCustomField;
|
||||||
use MailPoet\Newsletter\Shortcodes\Categories\Date;
|
use MailPoet\Newsletter\Shortcodes\Categories\Date;
|
||||||
|
|
||||||
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
require_once(ABSPATH . 'wp-includes/pluggable.php');
|
||||||
@ -113,30 +115,52 @@ class ShortcodesTest extends MailPoetTest {
|
|||||||
expect($result['0'])->equals(2);
|
expect($result['0'])->equals(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanProcessUserShortcodes() {
|
function testItCanProcessSubscriberShortcodes() {
|
||||||
$shortcodes_object = $this->shortcodes_object;
|
$shortcodes_object = $this->shortcodes_object;
|
||||||
$result =
|
$result =
|
||||||
$shortcodes_object->process(array('[user:firstname]'));
|
$shortcodes_object->process(array('[subscriber:firstname]'));
|
||||||
expect($result[0])->equals($this->subscriber->first_name);
|
expect($result[0])->equals($this->subscriber->first_name);
|
||||||
$result =
|
$result =
|
||||||
$shortcodes_object->process(array('[user:lastname]'));
|
$shortcodes_object->process(array('[subscriber:lastname]'));
|
||||||
expect($result[0])->equals($this->subscriber->last_name);
|
expect($result[0])->equals($this->subscriber->last_name);
|
||||||
$result =
|
$result =
|
||||||
$shortcodes_object->process(array('[user:displayname]'));
|
$shortcodes_object->process(array('[subscriber:displayname]'));
|
||||||
expect($result[0])->equals($this->WP_user->user_login);
|
expect($result[0])->equals($this->WP_user->user_login);
|
||||||
$subscribers = Subscriber::where('status', 'subscribed')
|
$subscribers = Subscriber::where('status', 'subscribed')
|
||||||
->findMany();
|
->findMany();
|
||||||
$subscriber_count = count($subscribers);
|
$subscriber_count = count($subscribers);
|
||||||
$result =
|
$result =
|
||||||
$shortcodes_object->process(array('[user:count]'));
|
$shortcodes_object->process(array('[subscriber:count]'));
|
||||||
expect($result[0])->equals($subscriber_count);
|
expect($result[0])->equals($subscriber_count);
|
||||||
$this->subscriber->status = 'unsubscribed';
|
$this->subscriber->status = 'unsubscribed';
|
||||||
$this->subscriber->save();
|
$this->subscriber->save();
|
||||||
$result =
|
$result =
|
||||||
$shortcodes_object->process(array('[user:count]'));
|
$shortcodes_object->process(array('[subscriber:count]'));
|
||||||
expect($result[0])->equals(--$subscriber_count);
|
expect($result[0])->equals(--$subscriber_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testItCanProcessSubscriberCustomFieldShortcodes() {
|
||||||
|
$shortcodes_object = $this->shortcodes_object;
|
||||||
|
$subscriber = $this->subscriber;
|
||||||
|
$custom_field = CustomField::create();
|
||||||
|
$custom_field->name = 'custom_field_name';
|
||||||
|
$custom_field->type = 'text';
|
||||||
|
$custom_field->save();
|
||||||
|
$result = $shortcodes_object->process(
|
||||||
|
array('[subscriber:cf_' . $custom_field->id . ']')
|
||||||
|
);
|
||||||
|
expect($result[0])->false();
|
||||||
|
$subscriber_custom_field = SubscriberCustomField::create();
|
||||||
|
$subscriber_custom_field->subscriber_id = $subscriber->id;
|
||||||
|
$subscriber_custom_field->custom_field_id = $custom_field->id;
|
||||||
|
$subscriber_custom_field->value = 'custom_field_value';
|
||||||
|
$subscriber_custom_field->save();
|
||||||
|
$result = $shortcodes_object->process(
|
||||||
|
array('[subscriber:cf_' . $custom_field->id . ']')
|
||||||
|
);
|
||||||
|
expect($result[0])->equals($subscriber_custom_field->value);
|
||||||
|
}
|
||||||
|
|
||||||
function testItCanProcessLinkShortcodes() {
|
function testItCanProcessLinkShortcodes() {
|
||||||
$shortcodes_object = $this->shortcodes_object;
|
$shortcodes_object = $this->shortcodes_object;
|
||||||
$result =
|
$result =
|
||||||
@ -245,6 +269,8 @@ class ShortcodesTest extends MailPoetTest {
|
|||||||
function _after() {
|
function _after() {
|
||||||
ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
|
ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
|
||||||
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
|
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
|
||||||
|
ORM::raw_execute('TRUNCATE ' . CustomField::$_table);
|
||||||
|
ORM::raw_execute('TRUNCATE ' . SubscriberCustomField::$_table);
|
||||||
wp_delete_post($this->WP_post, true);
|
wp_delete_post($this->WP_post, true);
|
||||||
wp_delete_user($this->WP_user->ID);
|
wp_delete_user($this->WP_user->ID);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user