Convert variable names to camel case
[MAILPOET-1796]
This commit is contained in:
@@ -30,13 +30,13 @@ class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
$this->test_data = [
|
||||
$this->testData = [
|
||||
'first_name' => 'John',
|
||||
'last_name' => 'Mailer',
|
||||
'email' => 'john@mailpoet.com',
|
||||
];
|
||||
$this->subscriber = Subscriber::create();
|
||||
$this->subscriber->hydrate($this->test_data);
|
||||
$this->subscriber->hydrate($this->testData);
|
||||
$this->saved = $this->subscriber->save();
|
||||
$this->settings = SettingsController::getInstance();
|
||||
$this->settings->set('sender', [
|
||||
@@ -52,26 +52,26 @@ class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
public function testItHasFirstName() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber->first_name)
|
||||
->equals($this->test_data['first_name']);
|
||||
expect($subscriber->firstName)
|
||||
->equals($this->testData['first_name']);
|
||||
}
|
||||
|
||||
public function testItHasLastName() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber->last_name)
|
||||
->equals($this->test_data['last_name']);
|
||||
expect($subscriber->lastName)
|
||||
->equals($this->testData['last_name']);
|
||||
}
|
||||
|
||||
public function testItHasEmail() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber->email)
|
||||
->equals($this->test_data['email']);
|
||||
->equals($this->testData['email']);
|
||||
}
|
||||
|
||||
public function testItShouldSetErrors() {
|
||||
@@ -108,70 +108,70 @@ class SubscriberTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
public function emailMustBeUnique() {
|
||||
$conflict_subscriber = Subscriber::create();
|
||||
$conflict_subscriber->hydrate($this->test_data);
|
||||
$saved = $conflict_subscriber->save();
|
||||
$conflictSubscriber = Subscriber::create();
|
||||
$conflictSubscriber->hydrate($this->testData);
|
||||
$saved = $conflictSubscriber->save();
|
||||
expect($saved)->notEquals(true);
|
||||
}
|
||||
|
||||
public function testItHasStatusDefaultStatusOfUnconfirmed() {
|
||||
$subscriber =
|
||||
Subscriber::where('email', $this->test_data['email'])
|
||||
Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
||||
}
|
||||
|
||||
public function testItCanChangeStatus() {
|
||||
$subscriber = Subscriber::where('email', $this->test_data['email'])->findOne();
|
||||
$subscriber = Subscriber::where('email', $this->testData['email'])->findOne();
|
||||
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
|
||||
$subscriber->save();
|
||||
|
||||
expect($subscriber->id() > 0)->true();
|
||||
expect($subscriber->getErrors())->false();
|
||||
$subscriber_updated = Subscriber::where('email', $this->test_data['email'])
|
||||
$subscriberUpdated = Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber_updated->status)->equals(Subscriber::STATUS_SUBSCRIBED);
|
||||
expect($subscriberUpdated->status)->equals(Subscriber::STATUS_SUBSCRIBED);
|
||||
}
|
||||
|
||||
public function testItUpdateLastSubscribedAtCorrectly() {
|
||||
$subscriber = Subscriber::where('email', $this->test_data['email'])->findOne();
|
||||
$subscriber = Subscriber::where('email', $this->testData['email'])->findOne();
|
||||
$subscriber->status = Subscriber::STATUS_UNCONFIRMED;
|
||||
$subscriber->last_subscribed_at = null;
|
||||
$subscriber->lastSubscribedAt = null;
|
||||
$subscriber->save();
|
||||
$subscriber_updated = Subscriber::where('email', $this->test_data['email'])
|
||||
$subscriberUpdated = Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber_updated->last_subscribed_at)->null();
|
||||
expect($subscriberUpdated->lastSubscribedAt)->null();
|
||||
|
||||
// Change to subscribed updates last_updated_at
|
||||
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
|
||||
$subscriber->save();
|
||||
$subscriber_updated = Subscriber::where('email', $this->test_data['email'])
|
||||
$subscriberUpdated = Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
$last_subscribed_at = new Carbon($subscriber_updated->last_updated_at);
|
||||
expect($last_subscribed_at)->lessThan((new Carbon())->addSeconds(2));
|
||||
expect($last_subscribed_at)->greaterThan((new Carbon())->subSeconds(2));
|
||||
$lastSubscribedAt = new Carbon($subscriberUpdated->lastUpdatedAt);
|
||||
expect($lastSubscribedAt)->lessThan((new Carbon())->addSeconds(2));
|
||||
expect($lastSubscribedAt)->greaterThan((new Carbon())->subSeconds(2));
|
||||
|
||||
// Change to other status keeps last_updated_at
|
||||
$last_subscribed_at = (new Carbon())->subHour();
|
||||
$subscriber->last_subscribed_at = $last_subscribed_at;
|
||||
$lastSubscribedAt = (new Carbon())->subHour();
|
||||
$subscriber->lastSubscribedAt = $lastSubscribedAt;
|
||||
$subscriber->save();
|
||||
$subscriber->status = Subscriber::STATUS_INACTIVE;
|
||||
$subscriber->save();
|
||||
$subscriber_updated = Subscriber::where('email', $this->test_data['email'])
|
||||
$subscriberUpdated = Subscriber::where('email', $this->testData['email'])
|
||||
->findOne();
|
||||
expect($subscriber_updated->last_subscribed_at)->equals($last_subscribed_at->toDateTimeString());
|
||||
expect($subscriberUpdated->lastSubscribedAt)->equals($lastSubscribedAt->toDateTimeString());
|
||||
}
|
||||
|
||||
public function testItHasSearchFilter() {
|
||||
$subscriber = Subscriber::filter('search', 'john')
|
||||
->findOne();
|
||||
expect($subscriber->first_name)->equals($this->test_data['first_name']);
|
||||
expect($subscriber->firstName)->equals($this->testData['first_name']);
|
||||
$subscriber = Subscriber::filter('search', 'mailer')
|
||||
->findOne();
|
||||
expect($subscriber->last_name)->equals($this->test_data['last_name']);
|
||||
expect($subscriber->lastName)->equals($this->testData['last_name']);
|
||||
$subscriber = Subscriber::filter('search', 'mailpoet')
|
||||
->findOne();
|
||||
expect($subscriber->email)->equals($this->test_data['email']);
|
||||
expect($subscriber->email)->equals($this->testData['email']);
|
||||
}
|
||||
|
||||
public function testItHasGroupFilter() {
|
||||
@@ -210,13 +210,13 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$segment = Segment::createOrUpdate([
|
||||
'name' => 'Test segment',
|
||||
]);
|
||||
$segment_2 = Segment::createOrUpdate([
|
||||
$segment2 = Segment::createOrUpdate([
|
||||
'name' => 'Test segment 2',
|
||||
]);
|
||||
|
||||
SubscriberSegment::subscribeToSegments(
|
||||
$this->subscriber,
|
||||
[$segment->id, $segment_2->id]
|
||||
[$segment->id, $segment2->id]
|
||||
);
|
||||
|
||||
// all, none + segments
|
||||
@@ -240,7 +240,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$segment = Segment::createOrUpdate([
|
||||
'name' => 'Test segment',
|
||||
]);
|
||||
$segment_2 = Segment::createOrUpdate([
|
||||
$segment2 = Segment::createOrUpdate([
|
||||
'name' => 'Test segment 2',
|
||||
]);
|
||||
|
||||
@@ -255,7 +255,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
// subscribed to a segment
|
||||
SubscriberSegment::subscribeToSegments(
|
||||
$subscriber,
|
||||
[$segment->id, $segment_2->id]
|
||||
[$segment->id, $segment2->id]
|
||||
);
|
||||
|
||||
$subscribers = Subscriber::filter('filterBy', ['segment' => 'none'])
|
||||
@@ -268,7 +268,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
// unsubscribed
|
||||
SubscriberSegment::unsubscribeFromSegments(
|
||||
$subscriber,
|
||||
[$segment->id, $segment_2->id]
|
||||
[$segment->id, $segment2->id]
|
||||
);
|
||||
|
||||
$subscribers = Subscriber::filter('filterBy', ['segment' => 'none'])
|
||||
@@ -278,10 +278,10 @@ class SubscriberTest extends \MailPoetTest {
|
||||
// subscribed to trashed segments
|
||||
SubscriberSegment::subscribeToSegments(
|
||||
$subscriber,
|
||||
[$segment->id, $segment_2->id]
|
||||
[$segment->id, $segment2->id]
|
||||
);
|
||||
$segment->trash();
|
||||
$segment_2->trash();
|
||||
$segment2->trash();
|
||||
|
||||
$subscribers = Subscriber::filter('filterBy', ['segment' => 'none'])
|
||||
->findMany();
|
||||
@@ -295,25 +295,25 @@ class SubscriberTest extends \MailPoetTest {
|
||||
expect($segment->getErrors())->false();
|
||||
|
||||
$association = SubscriberSegment::create();
|
||||
$association->subscriber_id = $this->subscriber->id;
|
||||
$association->segment_id = $segment->id;
|
||||
$association->subscriberId = $this->subscriber->id;
|
||||
$association->segmentId = $segment->id;
|
||||
$association->save();
|
||||
|
||||
$subscriber = Subscriber::findOne($this->subscriber->id);
|
||||
|
||||
$subscriber_segment = $subscriber->segments()->findOne();
|
||||
expect($subscriber_segment->id)->equals($segment->id);
|
||||
$subscriberSegment = $subscriber->segments()->findOne();
|
||||
expect($subscriberSegment->id)->equals($segment->id);
|
||||
}
|
||||
|
||||
public function testItCanHaveCustomFields() {
|
||||
$custom_field = CustomField::createOrUpdate([
|
||||
$customField = CustomField::createOrUpdate([
|
||||
'name' => 'DOB',
|
||||
'type' => 'date',
|
||||
]);
|
||||
|
||||
$association = SubscriberCustomField::create();
|
||||
$association->subscriber_id = $this->subscriber->id;
|
||||
$association->custom_field_id = $custom_field->id;
|
||||
$association->subscriberId = $this->subscriber->id;
|
||||
$association->customFieldId = $customField->id;
|
||||
$association->value = '12/12/2012';
|
||||
$association->save();
|
||||
|
||||
@@ -323,12 +323,12 @@ class SubscriberTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
public function testItCanCreateSubscriberWithCustomFields() {
|
||||
$custom_field = CustomField::createOrUpdate([
|
||||
$customField = CustomField::createOrUpdate([
|
||||
'name' => 'City',
|
||||
'type' => 'text',
|
||||
]);
|
||||
|
||||
$custom_field_2 = CustomField::createOrUpdate([
|
||||
$customField2 = CustomField::createOrUpdate([
|
||||
'name' => 'Birthday',
|
||||
'type' => 'date',
|
||||
'params' => [
|
||||
@@ -337,7 +337,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
],
|
||||
]);
|
||||
|
||||
$custom_field_3 = CustomField::createOrUpdate([
|
||||
$customField3 = CustomField::createOrUpdate([
|
||||
'name' => 'Registered on',
|
||||
'type' => 'date',
|
||||
'params' => [
|
||||
@@ -346,57 +346,57 @@ class SubscriberTest extends \MailPoetTest {
|
||||
],
|
||||
]);
|
||||
|
||||
$subscriber_with_custom_field = Subscriber::createOrUpdate([
|
||||
$subscriberWithCustomField = Subscriber::createOrUpdate([
|
||||
'email' => 'user.with.cf@mailpoet.com',
|
||||
'cf_' . $custom_field->id => 'Paris',
|
||||
'cf_' . $custom_field_2->id => [
|
||||
'cf_' . $customField->id => 'Paris',
|
||||
'cf_' . $customField2->id => [
|
||||
'day' => 9,
|
||||
'month' => 3,
|
||||
'year' => 1984,
|
||||
], // date as array value
|
||||
'cf_' . $custom_field_3->id => '2013-07', // date as string value
|
||||
'cf_' . $customField3->id => '2013-07', // date as string value
|
||||
]);
|
||||
|
||||
$subscriber = Subscriber::findOne($subscriber_with_custom_field->id)
|
||||
$subscriber = Subscriber::findOne($subscriberWithCustomField->id)
|
||||
->withCustomFields();
|
||||
|
||||
expect($subscriber->id)->equals($subscriber_with_custom_field->id);
|
||||
expect($subscriber->id)->equals($subscriberWithCustomField->id);
|
||||
expect($subscriber->email)->equals('user.with.cf@mailpoet.com');
|
||||
expect($subscriber->{'cf_' . $custom_field->id})->equals('Paris');
|
||||
expect($subscriber->{'cf_' . $customField->id})->equals('Paris');
|
||||
// date specified as array gets converted to string
|
||||
expect($subscriber->{'cf_' . $custom_field_2->id})->equals('1984-03-09 00:00:00');
|
||||
expect($subscriber->{'cf_' . $customField2->id})->equals('1984-03-09 00:00:00');
|
||||
// date specified as string is stored as is
|
||||
expect($subscriber->{'cf_' . $custom_field_3->id})->equals('2013-07');
|
||||
expect($subscriber->{'cf_' . $customField3->id})->equals('2013-07');
|
||||
}
|
||||
|
||||
public function testItShouldUnsubscribeFromAllSegments() {
|
||||
$segment_1 = Segment::createOrUpdate(['name' => 'Segment 1']);
|
||||
$segment_2 = Segment::createOrUpdate(['name' => 'Segment 2']);
|
||||
$segment1 = Segment::createOrUpdate(['name' => 'Segment 1']);
|
||||
$segment2 = Segment::createOrUpdate(['name' => 'Segment 2']);
|
||||
|
||||
$subscriber = Subscriber::createOrUpdate([
|
||||
'email' => 'jean.louis@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_SUBSCRIBED,
|
||||
'segments' => [
|
||||
$segment_1->id,
|
||||
$segment_2->id,
|
||||
$segment1->id,
|
||||
$segment2->id,
|
||||
],
|
||||
]);
|
||||
|
||||
$subscriber = Subscriber::findOne($subscriber->id);
|
||||
|
||||
$subscribed_segments = $subscriber->segments()->findArray();
|
||||
expect($subscribed_segments)->count(2);
|
||||
expect($subscribed_segments[0]['name'] = 'Segment 1');
|
||||
expect($subscribed_segments[1]['name'] = 'Segment 2');
|
||||
$subscribedSegments = $subscriber->segments()->findArray();
|
||||
expect($subscribedSegments)->count(2);
|
||||
expect($subscribedSegments[0]['name'] = 'Segment 1');
|
||||
expect($subscribedSegments[1]['name'] = 'Segment 2');
|
||||
|
||||
// update subscriber status
|
||||
$unsubscribed_subscriber = Subscriber::createOrUpdate([
|
||||
$unsubscribedSubscriber = Subscriber::createOrUpdate([
|
||||
'email' => 'jean.louis@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_UNSUBSCRIBED,
|
||||
]);
|
||||
|
||||
$subscribed_segments = $subscriber->segments()->findArray();
|
||||
expect($subscribed_segments)->count(0);
|
||||
$subscribedSegments = $subscriber->segments()->findArray();
|
||||
expect($subscribedSegments)->count(0);
|
||||
}
|
||||
|
||||
public function testItCanCreateOrUpdate() {
|
||||
@@ -411,15 +411,15 @@ class SubscriberTest extends \MailPoetTest {
|
||||
|
||||
$record = Subscriber::where('email', $data['email'])
|
||||
->findOne();
|
||||
expect($record->first_name)->equals($data['first_name']);
|
||||
expect($record->last_name)->equals($data['last_name']);
|
||||
$record->last_name = 'Mailer';
|
||||
expect($record->firstName)->equals($data['first_name']);
|
||||
expect($record->lastName)->equals($data['last_name']);
|
||||
$record->lastName = 'Mailer';
|
||||
$result = Subscriber::createOrUpdate($record->asArray());
|
||||
expect($result)->notEquals(false);
|
||||
expect($result->getValidationErrors())->isEmpty();
|
||||
$record = Subscriber::where('email', $data['email'])
|
||||
->findOne();
|
||||
expect($record->last_name)->equals('Mailer');
|
||||
expect($record->lastName)->equals('Mailer');
|
||||
}
|
||||
|
||||
public function testItCanCreateOrUpdateMultipleRecords() {
|
||||
@@ -459,27 +459,27 @@ class SubscriberTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
public function testItCanBeUpdatedByEmail() {
|
||||
$subscriber_updated = Subscriber::createOrUpdate([
|
||||
'email' => $this->test_data['email'],
|
||||
$subscriberUpdated = Subscriber::createOrUpdate([
|
||||
'email' => $this->testData['email'],
|
||||
'first_name' => 'JoJo',
|
||||
'last_name' => 'DoDo',
|
||||
]);
|
||||
|
||||
expect($this->subscriber->id())->equals($subscriber_updated->id());
|
||||
expect($this->subscriber->id())->equals($subscriberUpdated->id());
|
||||
|
||||
$subscriber = Subscriber::findOne($this->subscriber->id());
|
||||
expect($subscriber->email)->equals($this->test_data['email']);
|
||||
expect($subscriber->first_name)->equals('JoJo');
|
||||
expect($subscriber->last_name)->equals('DoDo');
|
||||
expect($subscriber->email)->equals($this->testData['email']);
|
||||
expect($subscriber->firstName)->equals('JoJo');
|
||||
expect($subscriber->lastName)->equals('DoDo');
|
||||
}
|
||||
|
||||
public function testItCanSetCustomField() {
|
||||
$custom_field = CustomField::createOrUpdate([
|
||||
$customField = CustomField::createOrUpdate([
|
||||
'name' => 'Date of Birth',
|
||||
'type' => 'date',
|
||||
]);
|
||||
|
||||
expect($custom_field->id() > 0)->true();
|
||||
expect($customField->id() > 0)->true();
|
||||
|
||||
$value = [
|
||||
'year' => 1984,
|
||||
@@ -488,11 +488,11 @@ class SubscriberTest extends \MailPoetTest {
|
||||
];
|
||||
|
||||
$subscriber = Subscriber::findOne($this->subscriber->id());
|
||||
$subscriber->setCustomField($custom_field->id(), $value);
|
||||
$subscriber->setCustomField($customField->id(), $value);
|
||||
|
||||
$subscriber = $subscriber->withCustomFields()->asArray();
|
||||
|
||||
expect($subscriber['cf_' . $custom_field->id()])->equals(
|
||||
expect($subscriber['cf_' . $customField->id()])->equals(
|
||||
mktime(0, 0, 0, $value['month'], $value['day'], $value['year'])
|
||||
);
|
||||
}
|
||||
@@ -503,33 +503,33 @@ class SubscriberTest extends \MailPoetTest {
|
||||
expect($subscriber->getCustomField(9999, 'default_value'))
|
||||
->equals('default_value');
|
||||
|
||||
$custom_field = CustomField::createOrUpdate([
|
||||
$customField = CustomField::createOrUpdate([
|
||||
'name' => 'Custom field: text input',
|
||||
'type' => 'input',
|
||||
]);
|
||||
|
||||
$subscriber->setCustomField($custom_field->id(), 'non_default_value');
|
||||
$subscriber->setCustomField($customField->id(), 'non_default_value');
|
||||
|
||||
expect($subscriber->getCustomField($custom_field->id(), 'default_value'))
|
||||
expect($subscriber->getCustomField($customField->id(), 'default_value'))
|
||||
->equals('non_default_value');
|
||||
}
|
||||
|
||||
public function testItCanGetOnlySubscribedAndNonTrashedSubscribersInSegments() {
|
||||
$subscriber_1 = Subscriber::createOrUpdate([
|
||||
$subscriber1 = Subscriber::createOrUpdate([
|
||||
'first_name' => 'Adam',
|
||||
'last_name' => 'Smith',
|
||||
'email' => 'adam@smith.com',
|
||||
'status' => Subscriber::STATUS_UNCONFIRMED,
|
||||
]);
|
||||
|
||||
$subscriber_2 = Subscriber::createOrUpdate([
|
||||
$subscriber2 = Subscriber::createOrUpdate([
|
||||
'first_name' => 'Mary',
|
||||
'last_name' => 'Jane',
|
||||
'email' => 'mary@jane.com',
|
||||
'status' => Subscriber::STATUS_SUBSCRIBED,
|
||||
]);
|
||||
|
||||
$subscriber_3 = Subscriber::createOrUpdate([
|
||||
$subscriber3 = Subscriber::createOrUpdate([
|
||||
'first_name' => 'Bob',
|
||||
'last_name' => 'Smith',
|
||||
'email' => 'bob@smith.com',
|
||||
@@ -542,78 +542,78 @@ class SubscriberTest extends \MailPoetTest {
|
||||
]);
|
||||
|
||||
$result = SubscriberSegment::subscribeManyToSegments(
|
||||
[$subscriber_1->id, $subscriber_2->id, $subscriber_3->id],
|
||||
[$subscriber1->id, $subscriber2->id, $subscriber3->id],
|
||||
[$segment->id]
|
||||
);
|
||||
expect($result)->true();
|
||||
|
||||
$subscribed_subscribers_in_segment = Subscriber::getSubscribedInSegments(
|
||||
$subscribedSubscribersInSegment = Subscriber::getSubscribedInSegments(
|
||||
[$segment->id]
|
||||
)->findArray();
|
||||
expect($subscribed_subscribers_in_segment)->count(1);
|
||||
expect($subscribedSubscribersInSegment)->count(1);
|
||||
|
||||
// update 1st subscriber's state to subscribed
|
||||
$subscriber = Subscriber::findOne($subscriber_1->id);
|
||||
$subscriber = Subscriber::findOne($subscriber1->id);
|
||||
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
|
||||
$subscriber->save();
|
||||
|
||||
$subscribed_subscribers_in_segment = Subscriber::getSubscribedInSegments(
|
||||
$subscribedSubscribersInSegment = Subscriber::getSubscribedInSegments(
|
||||
[$segment->id]
|
||||
)->findArray();
|
||||
expect($subscribed_subscribers_in_segment)->count(2);
|
||||
expect($subscribedSubscribersInSegment)->count(2);
|
||||
}
|
||||
|
||||
public function testItCannotTrashWpUser() {
|
||||
$wp_subscriber = Subscriber::createOrUpdate([
|
||||
$wpSubscriber = Subscriber::createOrUpdate([
|
||||
'email' => 'some.wp.user@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WP User',
|
||||
'wp_user_id' => 1,
|
||||
]);
|
||||
expect($wp_subscriber->trash())->equals(false);
|
||||
expect($wpSubscriber->trash())->equals(false);
|
||||
|
||||
$subscriber = Subscriber::findOne($wp_subscriber->id);
|
||||
$subscriber = Subscriber::findOne($wpSubscriber->id);
|
||||
expect($subscriber)->notEquals(false);
|
||||
expect($subscriber->deleted_at)->equals(null);
|
||||
expect($subscriber->deletedAt)->equals(null);
|
||||
}
|
||||
|
||||
public function testItCannotDeleteWpUser() {
|
||||
$wp_subscriber = Subscriber::createOrUpdate([
|
||||
$wpSubscriber = Subscriber::createOrUpdate([
|
||||
'email' => 'some.wp.user@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WP User',
|
||||
'wp_user_id' => 1,
|
||||
]);
|
||||
expect($wp_subscriber->delete())->equals(false);
|
||||
expect($wpSubscriber->delete())->equals(false);
|
||||
|
||||
$subscriber = Subscriber::findOne($wp_subscriber->id);
|
||||
$subscriber = Subscriber::findOne($wpSubscriber->id);
|
||||
expect($subscriber)->notEquals(false);
|
||||
}
|
||||
|
||||
public function testItCannotTrashWooCommerceCustomer() {
|
||||
$wp_subscriber = Subscriber::createOrUpdate([
|
||||
$wpSubscriber = Subscriber::createOrUpdate([
|
||||
'email' => 'some.woocommerce.customer@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WooCommerce Customer',
|
||||
'is_woocommerce_user' => 1,
|
||||
]);
|
||||
expect($wp_subscriber->trash())->equals(false);
|
||||
expect($wpSubscriber->trash())->equals(false);
|
||||
|
||||
$subscriber = Subscriber::findOne($wp_subscriber->id);
|
||||
$subscriber = Subscriber::findOne($wpSubscriber->id);
|
||||
expect($subscriber)->notEquals(false);
|
||||
expect($subscriber->deleted_at)->equals(null);
|
||||
expect($subscriber->deletedAt)->equals(null);
|
||||
}
|
||||
|
||||
public function testItCannotDeleteWooCommerceCustomer() {
|
||||
$wp_subscriber = Subscriber::createOrUpdate([
|
||||
$wpSubscriber = Subscriber::createOrUpdate([
|
||||
'email' => 'some.woocommerce.customer@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WooCommerce Customer',
|
||||
'is_woocommerce_user' => 1,
|
||||
]);
|
||||
expect($wp_subscriber->delete())->equals(false);
|
||||
expect($wpSubscriber->delete())->equals(false);
|
||||
|
||||
$subscriber = Subscriber::findOne($wp_subscriber->id);
|
||||
$subscriber = Subscriber::findOne($wpSubscriber->id);
|
||||
expect($subscriber)->notEquals(false);
|
||||
}
|
||||
|
||||
@@ -621,14 +621,14 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$subscriber = Subscriber::create();
|
||||
$subscriber->hydrate(Fixtures::get('subscriber_template'));
|
||||
$subscriber->save();
|
||||
foreach (range(1, 5) as $custom_field) {
|
||||
$subscriber_custom_field = SubscriberCustomField::create();
|
||||
$subscriber_custom_field->custom_field_id = $custom_field;
|
||||
$subscriber_custom_field->subscriber_id = ($custom_field !== 5) ?
|
||||
foreach (range(1, 5) as $customField) {
|
||||
$subscriberCustomField = SubscriberCustomField::create();
|
||||
$subscriberCustomField->customFieldId = $customField;
|
||||
$subscriberCustomField->subscriberId = ($customField !== 5) ?
|
||||
$subscriber->id :
|
||||
100; // create one record with a nonexistent subscriber id
|
||||
$subscriber_custom_field->value = 'somevalue';
|
||||
$subscriber_custom_field->save();
|
||||
$subscriberCustomField->value = 'somevalue';
|
||||
$subscriberCustomField->save();
|
||||
}
|
||||
expect(SubscriberCustomField::findMany())->count(5);
|
||||
$subscriber->delete();
|
||||
@@ -639,28 +639,28 @@ class SubscriberTest extends \MailPoetTest {
|
||||
// remove all subscribers
|
||||
Subscriber::deleteMany();
|
||||
|
||||
$subscriber_1 = Subscriber::createOrUpdate([
|
||||
$subscriber1 = Subscriber::createOrUpdate([
|
||||
'email' => 'subscriber_1@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_SUBSCRIBED,
|
||||
]);
|
||||
|
||||
$subscriber_2 = Subscriber::createOrUpdate([
|
||||
$subscriber2 = Subscriber::createOrUpdate([
|
||||
'email' => 'subscriber_2@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_UNCONFIRMED,
|
||||
]);
|
||||
|
||||
$subscriber_3 = Subscriber::createOrUpdate([
|
||||
$subscriber3 = Subscriber::createOrUpdate([
|
||||
'email' => 'subscriber_3@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_UNSUBSCRIBED,
|
||||
]);
|
||||
|
||||
$subscriber_4 = Subscriber::createOrUpdate([
|
||||
$subscriber4 = Subscriber::createOrUpdate([
|
||||
'email' => 'subscriber_4@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_SUBSCRIBED,
|
||||
'deleted_at' => Carbon::now()->toDateTimeString(),
|
||||
]);
|
||||
|
||||
$subscriber_5 = Subscriber::createOrUpdate([
|
||||
$subscriber5 = Subscriber::createOrUpdate([
|
||||
'email' => 'subscriber_5@mailpoet.com',
|
||||
'status' => Subscriber::STATUS_BOUNCED,
|
||||
]);
|
||||
@@ -669,30 +669,30 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$total = Subscriber::getTotalSubscribers();
|
||||
expect($total)->equals(2);
|
||||
|
||||
$subscriber_1->status = Subscriber::STATUS_UNSUBSCRIBED;
|
||||
$subscriber_1->save();
|
||||
$subscriber1->status = Subscriber::STATUS_UNSUBSCRIBED;
|
||||
$subscriber1->save();
|
||||
|
||||
$total = Subscriber::getTotalSubscribers();
|
||||
expect($total)->equals(1);
|
||||
}
|
||||
|
||||
public function testItBulkTrashesSubscribers() {
|
||||
$subscriber_with_wp_user_id_zero = Subscriber::createOrUpdate([
|
||||
$subscriberWithWpUserIdZero = Subscriber::createOrUpdate([
|
||||
'email' => 'some.wp.user0@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WP User',
|
||||
'wp_user_id' => 0,
|
||||
]);
|
||||
$subscriber_with_wp_user_id = Subscriber::createOrUpdate([
|
||||
$subscriberWithWpUserId = Subscriber::createOrUpdate([
|
||||
'email' => 'some.wp.user@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WP User',
|
||||
'wp_user_id' => 1,
|
||||
]);
|
||||
Subscriber::filter('bulkTrash');
|
||||
$not_trashed_subscribers = Subscriber::whereNull('deleted_at')->findArray();
|
||||
expect(count($not_trashed_subscribers))->equals(1);
|
||||
expect($not_trashed_subscribers[0]['wp_user_id'])->equals(1);
|
||||
$notTrashedSubscribers = Subscriber::whereNull('deleted_at')->findArray();
|
||||
expect(count($notTrashedSubscribers))->equals(1);
|
||||
expect($notTrashedSubscribers[0]['wp_user_id'])->equals(1);
|
||||
}
|
||||
|
||||
public function testItBulkDeletesSubscribers() {
|
||||
@@ -701,7 +701,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
'name' => 'test',
|
||||
]
|
||||
);
|
||||
$custom_field = CustomField::createOrUpdate(
|
||||
$customField = CustomField::createOrUpdate(
|
||||
[
|
||||
'name' => 'name',
|
||||
'type' => 'type',
|
||||
@@ -710,15 +710,15 @@ class SubscriberTest extends \MailPoetTest {
|
||||
],
|
||||
]
|
||||
);
|
||||
$subscriber_custom_field = SubscriberCustomField::createOrUpdate(
|
||||
$subscriberCustomField = SubscriberCustomField::createOrUpdate(
|
||||
[
|
||||
'subscriber_id' => $this->subscriber->id,
|
||||
'custom_field_id' => $custom_field->id,
|
||||
'custom_field_id' => $customField->id,
|
||||
'value' => 'test',
|
||||
]
|
||||
);
|
||||
expect(SubscriberCustomField::findMany())->count(1);
|
||||
$subscriber_segment = SubscriberSegment::createOrUpdate(
|
||||
$subscriberSegment = SubscriberSegment::createOrUpdate(
|
||||
[
|
||||
'subscriber_id' => $this->subscriber->id,
|
||||
'segment_id' => 1,
|
||||
@@ -726,13 +726,13 @@ class SubscriberTest extends \MailPoetTest {
|
||||
);
|
||||
expect(SubscriberSegment::findMany())->count(1);
|
||||
|
||||
$subscriber_with_wp_user_id_zero = Subscriber::createOrUpdate([
|
||||
$subscriberWithWpUserIdZero = Subscriber::createOrUpdate([
|
||||
'email' => 'some.wp.user0@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WP User',
|
||||
'wp_user_id' => 0,
|
||||
]);
|
||||
$subscriber_with_wp_user_id = Subscriber::createOrUpdate([
|
||||
$subscriberWithWpUserId = Subscriber::createOrUpdate([
|
||||
'email' => 'some.wp.user@mailpoet.com',
|
||||
'first_name' => 'Some',
|
||||
'last_name' => 'WP User',
|
||||
@@ -743,18 +743,18 @@ class SubscriberTest extends \MailPoetTest {
|
||||
Subscriber::filter('bulkDelete');
|
||||
expect(SubscriberCustomField::findArray())->isEmpty();
|
||||
expect(SubscriberSegment::findArray())->isEmpty();
|
||||
$not_deleted_subscribers = Subscriber::findArray();
|
||||
expect(count($not_deleted_subscribers))->equals(1);
|
||||
expect($not_deleted_subscribers[0]['wp_user_id'])->equals(1);
|
||||
$notDeletedSubscribers = Subscriber::findArray();
|
||||
expect(count($notDeletedSubscribers))->equals(1);
|
||||
expect($notDeletedSubscribers[0]['wp_user_id'])->equals(1);
|
||||
}
|
||||
|
||||
public function testItCanFindSubscribersInSegments() {
|
||||
// create 3 subscribers, segments and subscriber-segment relations
|
||||
$prepare_data = function() {
|
||||
$prepareData = function() {
|
||||
$this->_after();
|
||||
$subscriber = [];
|
||||
$segment = [];
|
||||
$subscriber_segment = [];
|
||||
$subscriberSegment = [];
|
||||
for ($i = 1; $i <= 3; $i++) {
|
||||
$subscriber[$i] = Subscriber::create();
|
||||
$subscriber[$i]->status = Subscriber::STATUS_SUBSCRIBED;
|
||||
@@ -765,20 +765,20 @@ class SubscriberTest extends \MailPoetTest {
|
||||
$segment[$i] = Segment::create();
|
||||
$segment[$i]->name = 'segment ' . $i;
|
||||
$segment[$i]->save();
|
||||
$subscriber_segment[$i] = SubscriberSegment::create();
|
||||
$subscriber_segment[$i]->subscriber_id = $subscriber[$i]->id;
|
||||
$subscriber_segment[$i]->segment_id = (int)$segment[$i]->id;
|
||||
$subscriber_segment[$i]->save();
|
||||
$subscriberSegment[$i] = SubscriberSegment::create();
|
||||
$subscriberSegment[$i]->subscriber_id = $subscriber[$i]->id;
|
||||
$subscriberSegment[$i]->segment_id = (int)$segment[$i]->id;
|
||||
$subscriberSegment[$i]->save();
|
||||
}
|
||||
return [
|
||||
$subscriber,
|
||||
$segment,
|
||||
$subscriber_segment,
|
||||
$subscriberSegment,
|
||||
];
|
||||
};
|
||||
|
||||
// it should not find deleted and nonexistent subscribers
|
||||
list($subscriber, $segment,) = $prepare_data();
|
||||
list($subscriber, $segment,) = $prepareData();
|
||||
$subscriber[1]->deleted_at = date("Y-m-d H:i:s");
|
||||
$subscriber[1]->save();
|
||||
$subscriber[2]->delete();
|
||||
@@ -799,7 +799,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
);
|
||||
|
||||
// it should not find subscribers with global unsubscribe status
|
||||
list($subscriber, $segment,) = $prepare_data();
|
||||
list($subscriber, $segment,) = $prepareData();
|
||||
$subscriber[2]->status = Subscriber::STATUS_UNSUBSCRIBED;
|
||||
$subscriber[2]->save();
|
||||
$subscribers = Subscriber::findSubscribersInSegments(
|
||||
@@ -822,10 +822,10 @@ class SubscriberTest extends \MailPoetTest {
|
||||
);
|
||||
|
||||
// it should not find subscribers unsubscribed from segment or when segment doesn't exist
|
||||
list($subscriber, $segment, $subscriber_segment) = $prepare_data();
|
||||
$subscriber_segment[3]->status = Subscriber::STATUS_UNSUBSCRIBED;
|
||||
$subscriber_segment[3]->save();
|
||||
$subscriber_segment[2]->delete();
|
||||
list($subscriber, $segment, $subscriberSegment) = $prepareData();
|
||||
$subscriberSegment[3]->status = Subscriber::STATUS_UNSUBSCRIBED;
|
||||
$subscriberSegment[3]->save();
|
||||
$subscriberSegment[2]->delete();
|
||||
$subscribers = Subscriber::findSubscribersInSegments(
|
||||
[
|
||||
$subscriber[1]->id,
|
||||
@@ -880,21 +880,21 @@ class SubscriberTest extends \MailPoetTest {
|
||||
]
|
||||
);
|
||||
expect($result->getErrors())->false();
|
||||
expect($result->first_name)->isEmpty();
|
||||
expect($result->last_name)->isEmpty();
|
||||
expect($result->firstName)->isEmpty();
|
||||
expect($result->lastName)->isEmpty();
|
||||
expect($result->status)->equals(Subscriber::STATUS_UNCONFIRMED);
|
||||
}
|
||||
|
||||
public function testItDoesNotSetDefaultValuesForExistingSubscribers() {
|
||||
$existing_subscriber_data = $this->test_data;
|
||||
$existingSubscriberData = $this->testData;
|
||||
$result = Subscriber::createOrUpdate(
|
||||
[
|
||||
'email' => $existing_subscriber_data['email'],
|
||||
'email' => $existingSubscriberData['email'],
|
||||
]
|
||||
);
|
||||
expect($result->getErrors())->false();
|
||||
expect($result->first_name)->equals($this->test_data['first_name']);
|
||||
expect($result->last_name)->equals($this->test_data['last_name']);
|
||||
expect($result->firstName)->equals($this->testData['first_name']);
|
||||
expect($result->lastName)->equals($this->testData['last_name']);
|
||||
}
|
||||
|
||||
public function testItExtractsCustomFieldsFromObject() {
|
||||
@@ -905,7 +905,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
'cf_2' => 'France',
|
||||
'last_name' => 'Doe',
|
||||
];
|
||||
list($data, $custom_values) = Subscriber::extractCustomFieldsFromFromObject($data);
|
||||
list($data, $customValues) = Subscriber::extractCustomFieldsFromFromObject($data);
|
||||
expect($data)->equals(
|
||||
[
|
||||
'email' => 'test@example.com',
|
||||
@@ -913,7 +913,7 @@ class SubscriberTest extends \MailPoetTest {
|
||||
'last_name' => 'Doe',
|
||||
]
|
||||
);
|
||||
expect($custom_values)->equals(
|
||||
expect($customValues)->equals(
|
||||
[
|
||||
'1' => 'Paris',
|
||||
'2' => 'France',
|
||||
@@ -932,6 +932,6 @@ class SubscriberTest extends \MailPoetTest {
|
||||
ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table);
|
||||
ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
||||
ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
|
||||
$this->di_container->get(SettingsRepository::class)->truncate();
|
||||
$this->diContainer->get(SettingsRepository::class)->truncate();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user