Fix subscriber consent data in export

[MAILPOET-3472]
This commit is contained in:
Rostislav Wolny
2021-03-09 12:02:22 +01:00
committed by Veljko V
parent 970f853507
commit 6f42222abc
2 changed files with 15 additions and 0 deletions

View File

@ -201,6 +201,9 @@ class ImportExportRepository {
{$subscriberTable}.last_name,
{$subscriberTable}.email,
{$subscriberTable}.subscribed_ip,
{$subscriberTable}.confirmed_at,
{$subscriberTable}.confirmed_ip,
{$subscriberTable}.created_at,
{$subscriberTable}.status AS global_status,
{$subscriberSegmentTable}.status AS list_status
")

View File

@ -13,6 +13,7 @@ use MailPoet\Segments\SegmentsRepository;
use MailPoet\Subscribers\SubscriberCustomFieldRepository;
use MailPoet\Subscribers\SubscriberSegmentRepository;
use MailPoet\Subscribers\SubscribersRepository;
use MailPoet\WP\DateTime;
use MailPoetVendor\Carbon\Carbon;
class ImportExportRepositoryTest extends \MailPoetTest {
@ -189,7 +190,14 @@ class ImportExportRepositoryTest extends \MailPoetTest {
}
public function testItGetSubscribersByDefaultSegment(): void {
$confirmedAt = Carbon::createFromFormat(DateTime::DEFAULT_DATE_TIME_FORMAT, '2021-02-12 12:11:00');
assert($confirmedAt instanceof Carbon);
$confirmedIp = '122.122.122.122';
$subscribedIp = '123.123.123.123';
$user1 = $this->createSubscriber('user1@export-test.com', 'One', 'User');
$user1->setConfirmedAt($confirmedAt->toDateTime());
$user1->setConfirmedIp($confirmedIp);
$user1->setSubscribedIp($subscribedIp);
$user2 = $this->createSubscriber('user2@export-test.com', 'Two', 'User');
$user3 = $this->createSubscriber('user3@export-test.com', 'Three', 'User');
$segment1 = $this->createSegment('First', SegmentEntity::TYPE_DEFAULT);
@ -204,6 +212,10 @@ class ImportExportRepositoryTest extends \MailPoetTest {
expect($exported[0]['last_name'])->equals('User');
expect($exported[0]['email'])->equals('user1@export-test.com');
expect($exported[0]['segment_name'])->equals('First');
expect($exported[0]['confirmed_at'])->equals($confirmedAt);
expect($exported[0]['created_at'])->equals($user1->getCreatedAt());
expect($exported[0]['confirmed_ip'])->equals($confirmedIp);
expect($exported[0]['subscribed_ip'])->equals($subscribedIp);
expect($exported[1]['first_name'])->equals('Two');
expect($exported[1]['last_name'])->equals('User');
expect($exported[1]['email'])->equals('user2@export-test.com');