Merge pull request #1421 from mailpoet/newsletters-opens-export-fix
Fix export of newsletters statistics [MAILPOET-1444]
This commit is contained in:
@@ -43,7 +43,7 @@ class StatisticsNewsletters extends Model {
|
|||||||
)
|
)
|
||||||
->leftOuterJoin(
|
->leftOuterJoin(
|
||||||
StatisticsOpens::$_table,
|
StatisticsOpens::$_table,
|
||||||
array('statistics.newsletter_id', '=', 'opens.newsletter_id'),
|
'statistics.newsletter_id = opens.newsletter_id AND statistics.subscriber_id = opens.subscriber_id',
|
||||||
'opens'
|
'opens'
|
||||||
)
|
)
|
||||||
->where('statistics.subscriber_id', $subscriber->id())
|
->where('statistics.subscriber_id', $subscriber->id())
|
||||||
|
@@ -88,7 +88,10 @@ class NewslettersExporterTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testExportOpens() {
|
function testExportOpens() {
|
||||||
$subscriber = Subscriber::createOrUpdate(array(
|
$subscriber = Subscriber::createOrUpdate(array(
|
||||||
'email' => 'user2@with.newsletters',
|
'email' => 'user21@with.newsletters',
|
||||||
|
));
|
||||||
|
$subscriber2 = Subscriber::createOrUpdate(array(
|
||||||
|
'email' => 'user22@with.newsletters',
|
||||||
));
|
));
|
||||||
$newsletter1 = Newsletter::createOrUpdate(array(
|
$newsletter1 = Newsletter::createOrUpdate(array(
|
||||||
'subject' => 'Email Subject1',
|
'subject' => 'Email Subject1',
|
||||||
@@ -112,7 +115,12 @@ class NewslettersExporterTest extends \MailPoetTest {
|
|||||||
'newsletter_id' => $newsletter1->id(),
|
'newsletter_id' => $newsletter1->id(),
|
||||||
'subscriber_id' => $subscriber->id(),
|
'subscriber_id' => $subscriber->id(),
|
||||||
'queue_id' => $queue1->id(),
|
'queue_id' => $queue1->id(),
|
||||||
|
), array(
|
||||||
|
'newsletter_id' => $newsletter1->id(),
|
||||||
|
'subscriber_id' => $subscriber2->id(),
|
||||||
|
'queue_id' => $queue1->id(),
|
||||||
)));
|
)));
|
||||||
|
|
||||||
StatisticsNewsletters::createMultiple(array(array(
|
StatisticsNewsletters::createMultiple(array(array(
|
||||||
'newsletter_id' => $newsletter2->id(),
|
'newsletter_id' => $newsletter2->id(),
|
||||||
'subscriber_id' => $subscriber->id(),
|
'subscriber_id' => $subscriber->id(),
|
||||||
@@ -124,7 +132,14 @@ class NewslettersExporterTest extends \MailPoetTest {
|
|||||||
'queue_id' => $queue1->id(),
|
'queue_id' => $queue1->id(),
|
||||||
'created_at' => '2017-01-02 12:23:45',
|
'created_at' => '2017-01-02 12:23:45',
|
||||||
));
|
));
|
||||||
$result = $this->exporter->export('user2@with.newsletters');
|
StatisticsOpens::createOrUpdate(array(
|
||||||
|
'subscriber_id' => $subscriber2->id(),
|
||||||
|
'newsletter_id' => $newsletter1->id(),
|
||||||
|
'queue_id' => $queue1->id(),
|
||||||
|
'created_at' => '2017-01-02 21:23:45',
|
||||||
|
));
|
||||||
|
$result = $this->exporter->export('user21@with.newsletters');
|
||||||
|
expect(count($result['data']))->equals(2);
|
||||||
expect($result['data'][0]['data'])->contains(array('name' => 'Opened', 'value' => 'Yes'));
|
expect($result['data'][0]['data'])->contains(array('name' => 'Opened', 'value' => 'Yes'));
|
||||||
expect($result['data'][0]['data'])->contains(array('name' => 'Opened at', 'value' => '2017-01-02 12:23:45'));
|
expect($result['data'][0]['data'])->contains(array('name' => 'Opened at', 'value' => '2017-01-02 12:23:45'));
|
||||||
expect($result['data'][1]['data'])->contains(array('name' => 'Opened', 'value' => 'No'));
|
expect($result['data'][1]['data'])->contains(array('name' => 'Opened', 'value' => 'No'));
|
||||||
|
Reference in New Issue
Block a user