Fix bulk trashing/deletion of subscribers with wp_user_id = 0 [MAILPOET-2489]

This commit is contained in:
wxa
2019-11-06 14:56:20 +03:00
committed by Jack Kitterhing
parent 2654a5e8d8
commit 70c73295d7
2 changed files with 37 additions and 3 deletions

View File

@ -673,6 +673,25 @@ class SubscriberTest extends \MailPoetTest {
expect($total)->equals(1);
}
function testItBulkTrashesSubscribers() {
$subscriber_with_wp_user_id_zero = 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([
'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);
}
function testItBulkDeletesSubscribers() {
$segment = Segment::createOrUpdate(
[
@ -704,11 +723,26 @@ class SubscriberTest extends \MailPoetTest {
);
expect(SubscriberSegment::findMany())->count(1);
$subscriber_with_wp_user_id_zero = 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([
'email' => 'some.wp.user@mailpoet.com',
'first_name' => 'Some',
'last_name' => 'WP User',
'wp_user_id' => 1,
]);
// associated segments and custom fields should be deleted
Subscriber::filter('bulkDelete');
expect(SubscriberCustomField::findArray())->isEmpty();
expect(SubscriberSegment::findArray())->isEmpty();
expect(Subscriber::findArray())->isEmpty();
$not_deleted_subscribers = Subscriber::findArray();
expect(count($not_deleted_subscribers))->equals(1);
expect($not_deleted_subscribers[0]['wp_user_id'])->equals(1);
}
function testItCanFindSubscribersInSegments() {