Improve typehints and doctypes for the woo revenue tracking
[MAILPOET-5014]
This commit is contained in:
committed by
Aschepikov
parent
5d3b26bb58
commit
f66be1b947
@@ -150,6 +150,9 @@ class HooksWooCommerce {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function addTrackingData($data) {
|
public function addTrackingData($data) {
|
||||||
|
if (!is_array($data)) {
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
return $this->tracker->addTrackingData($data);
|
return $this->tracker->addTrackingData($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -47,7 +47,7 @@ class StatisticsWooCommercePurchasesRepository extends Repository {
|
|||||||
$this->flush();
|
$this->flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRevenuesByCampaigns() {
|
public function getRevenuesByCampaigns(): array {
|
||||||
$revenueStatsTable = $this->entityManager->getClassMetadata(StatisticsWooCommercePurchaseEntity::class)->getTableName();
|
$revenueStatsTable = $this->entityManager->getClassMetadata(StatisticsWooCommercePurchaseEntity::class)->getTableName();
|
||||||
$newsletterTable = $this->entityManager->getClassMetadata(NewsletterEntity::class)->getTableName();
|
$newsletterTable = $this->entityManager->getClassMetadata(NewsletterEntity::class)->getTableName();
|
||||||
|
|
||||||
|
@@ -32,14 +32,7 @@ class Tracker {
|
|||||||
$this->loggerFactory = $loggerFactory;
|
$this->loggerFactory = $loggerFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function addTrackingData(array $data): array {
|
||||||
* @param array $data
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function addTrackingData($data): array {
|
|
||||||
if (!is_array($data)) {
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
$analyticsData = $this->newslettersRepository->getAnalytics();
|
$analyticsData = $this->newslettersRepository->getAnalytics();
|
||||||
$data['extensions']['mailpoet'] = [
|
$data['extensions']['mailpoet'] = [
|
||||||
|
@@ -24,7 +24,7 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
/** @var Tracker */
|
/** @var Tracker */
|
||||||
private $tracker;
|
private $tracker;
|
||||||
|
|
||||||
public function _before() {
|
public function _before(): void {
|
||||||
parent::_before();
|
parent::_before();
|
||||||
$this->cleanUp();
|
$this->cleanUp();
|
||||||
$this->subscriber = (new Subscriber())->create();
|
$this->subscriber = (new Subscriber())->create();
|
||||||
@@ -37,14 +37,14 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItAddsTrackingData() {
|
public function testItAddsTrackingData(): void {
|
||||||
$data = $this->tracker->addTrackingData(['extensions' => []]);
|
$data = $this->tracker->addTrackingData(['extensions' => []]);
|
||||||
expect($data['extensions']['mailpoet'])->notEmpty();
|
expect($data['extensions']['mailpoet'])->notEmpty();
|
||||||
expect($data['extensions']['mailpoet']['campaigns_count'])->notNull();
|
expect($data['extensions']['mailpoet']['campaigns_count'])->notNull();
|
||||||
expect($data['extensions']['mailpoet']['currency'])->notNull();
|
expect($data['extensions']['mailpoet']['currency'])->notNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItAddsCampaignRevenuesForStandardNewsletters() {
|
public function testItAddsCampaignRevenuesForStandardNewsletters(): void {
|
||||||
$newsletter1 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_STANDARD)->create();
|
$newsletter1 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_STANDARD)->create();
|
||||||
$newsletter2 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_STANDARD)->create();
|
$newsletter2 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_STANDARD)->create();
|
||||||
$this->createRevenueRecord($newsletter1, $this->createOrderData(1, 'USD', 10));
|
$this->createRevenueRecord($newsletter1, $this->createOrderData(1, 'USD', 10));
|
||||||
@@ -63,7 +63,7 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
expect($mailPoetData['campaign_' . $newsletter2->getId() . '_orders_count'])->equals(1);
|
expect($mailPoetData['campaign_' . $newsletter2->getId() . '_orders_count'])->equals(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItAddsCampaignRevenuesForAutomaticCampaigns() {
|
public function testItAddsCampaignRevenuesForAutomaticCampaigns(): void {
|
||||||
$newsletter1 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_WELCOME)->create();
|
$newsletter1 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_WELCOME)->create();
|
||||||
$newsletter2 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATIC)->create();
|
$newsletter2 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATIC)->create();
|
||||||
$newsletter3 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATION)->create();
|
$newsletter3 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATION)->create();
|
||||||
@@ -87,7 +87,7 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
expect($mailPoetData['campaign_' . $newsletter3->getId() . '_orders_count'])->equals(1);
|
expect($mailPoetData['campaign_' . $newsletter3->getId() . '_orders_count'])->equals(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItAddsTotalCampaigns() {
|
public function testItAddsTotalCampaigns(): void {
|
||||||
(new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_WELCOME)->withStatus(NewsletterEntity::STATUS_ACTIVE)->create();
|
(new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_WELCOME)->withStatus(NewsletterEntity::STATUS_ACTIVE)->create();
|
||||||
(new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATIC)->withStatus(NewsletterEntity::STATUS_ACTIVE)->create();
|
(new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATIC)->withStatus(NewsletterEntity::STATUS_ACTIVE)->create();
|
||||||
(new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATION)->withStatus(NewsletterEntity::STATUS_ACTIVE)->create();
|
(new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_AUTOMATION)->withStatus(NewsletterEntity::STATUS_ACTIVE)->create();
|
||||||
@@ -103,7 +103,7 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
expect($campaignsCount)->equals(6);
|
expect($campaignsCount)->equals(6);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItAddsCampaignRevenuesPostNotificationsUnderTheParentId() {
|
public function testItAddsCampaignRevenuesPostNotificationsUnderTheParentId(): void {
|
||||||
$notificationParent = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_NOTIFICATION)->create();
|
$notificationParent = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_NOTIFICATION)->create();
|
||||||
$notificationHistory1 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_NOTIFICATION_HISTORY)->create();
|
$notificationHistory1 = (new Newsletter())->withSendingQueue()->withType(NewsletterEntity::TYPE_NOTIFICATION_HISTORY)->create();
|
||||||
$notificationHistory1->setParent($notificationParent);
|
$notificationHistory1->setParent($notificationParent);
|
||||||
@@ -126,7 +126,7 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
/**
|
/**
|
||||||
* Because we save the revenue for every recent click, we need to make sure we count the order only once (for the first click)
|
* Because we save the revenue for every recent click, we need to make sure we count the order only once (for the first click)
|
||||||
*/
|
*/
|
||||||
public function testItTracksTheRevenueOncePerOrder() {
|
public function testItTracksTheRevenueOncePerOrder(): void {
|
||||||
$newsletter1 = (new Newsletter())->withSendingQueue()->create();
|
$newsletter1 = (new Newsletter())->withSendingQueue()->create();
|
||||||
$newsletter2 = (new Newsletter())->withSendingQueue()->create();
|
$newsletter2 = (new Newsletter())->withSendingQueue()->create();
|
||||||
$newsletter3 = (new Newsletter())->withSendingQueue()->create();
|
$newsletter3 = (new Newsletter())->withSendingQueue()->create();
|
||||||
@@ -167,7 +167,7 @@ class TrackerTest extends \MailPoetTest {
|
|||||||
return (new StatisticsWooCommercePurchases($click, $orderData))->create();
|
return (new StatisticsWooCommercePurchases($click, $orderData))->create();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function cleanUp() {
|
private function cleanUp(): void {
|
||||||
$this->truncateEntity(NewsletterLinkEntity::class);
|
$this->truncateEntity(NewsletterLinkEntity::class);
|
||||||
$this->truncateEntity(NewsletterEntity::class);
|
$this->truncateEntity(NewsletterEntity::class);
|
||||||
$this->truncateEntity(SubscriberEntity::class);
|
$this->truncateEntity(SubscriberEntity::class);
|
||||||
|
Reference in New Issue
Block a user