Fetch task list status only when task list is displayed
[MAILPOET-4827]
This commit is contained in:
committed by
Aschepikov
parent
ce8191ad6c
commit
f50dcd3bd1
2
mailpoet/assets/js/src/global.d.ts
vendored
2
mailpoet/assets/js/src/global.d.ts
vendored
@ -179,7 +179,7 @@ interface Window {
|
|||||||
mssConnected: boolean;
|
mssConnected: boolean;
|
||||||
subscribersAdded: boolean;
|
subscribersAdded: boolean;
|
||||||
wooSubscribersImported: boolean;
|
wooSubscribersImported: boolean;
|
||||||
};
|
} | null;
|
||||||
woo_customers_count: number;
|
woo_customers_count: number;
|
||||||
subscribers_count: number;
|
subscribers_count: number;
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export type TaskListState = {
|
export type TaskListState = {
|
||||||
isTaskListHidden: boolean;
|
isTaskListHidden: boolean;
|
||||||
tasksStatus: TaskListTasksStatus;
|
tasksStatus: TaskListTasksStatus | null;
|
||||||
canImportWooCommerceSubscribers: boolean;
|
canImportWooCommerceSubscribers: boolean;
|
||||||
hasImportedSubscribers: boolean;
|
hasImportedSubscribers: boolean;
|
||||||
};
|
};
|
||||||
|
@ -36,10 +36,11 @@ class HomepageDataController {
|
|||||||
public function getPageData(): array {
|
public function getPageData(): array {
|
||||||
$subscribersCount = $this->subscribersRepository->getTotalSubscribers();
|
$subscribersCount = $this->subscribersRepository->getTotalSubscribers();
|
||||||
$formsCount = $this->formsRepository->count();
|
$formsCount = $this->formsRepository->count();
|
||||||
|
$showTaskList = !$this->settingsController->get('homepage.task_list_dismissed', false);
|
||||||
return [
|
return [
|
||||||
'task_list_dismissed' => (bool)$this->settingsController->get('homepage.task_list_dismissed', false),
|
'task_list_dismissed' => !$showTaskList,
|
||||||
'product_discovery_dismissed' => (bool)$this->settingsController->get('homepage.product_discovery_dismissed', false),
|
'product_discovery_dismissed' => (bool)$this->settingsController->get('homepage.product_discovery_dismissed', false),
|
||||||
'task_list_status' => $this->getTaskListStatus($subscribersCount, $formsCount),
|
'task_list_status' => $showTaskList ? $this->getTaskListStatus($subscribersCount, $formsCount) : null,
|
||||||
'woo_customers_count' => $this->wooCommerceHelper->getCustomersCount(),
|
'woo_customers_count' => $this->wooCommerceHelper->getCustomersCount(),
|
||||||
'subscribers_count' => $subscribersCount,
|
'subscribers_count' => $subscribersCount,
|
||||||
];
|
];
|
||||||
|
@ -5,6 +5,7 @@ namespace MailPoet\Homepage;
|
|||||||
use MailPoet\Entities\FormEntity;
|
use MailPoet\Entities\FormEntity;
|
||||||
use MailPoet\Entities\SettingEntity;
|
use MailPoet\Entities\SettingEntity;
|
||||||
use MailPoet\Entities\SubscriberEntity;
|
use MailPoet\Entities\SubscriberEntity;
|
||||||
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Test\DataFactories\Form;
|
use MailPoet\Test\DataFactories\Form;
|
||||||
use MailPoet\Test\DataFactories\Subscriber;
|
use MailPoet\Test\DataFactories\Subscriber;
|
||||||
|
|
||||||
@ -30,7 +31,7 @@ class HomepageDataControllerTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function testItFetchesSenderTaskListStatus(): void {
|
public function testItFetchesSenderTaskListStatus(): void {
|
||||||
$settings = $this->diContainer->get(\MailPoet\Settings\SettingsController::class);
|
$settings = $this->diContainer->get(SettingsController::class);
|
||||||
|
|
||||||
$settings->set('sender', null);
|
$settings->set('sender', null);
|
||||||
$data = $this->homepageDataController->getPageData();
|
$data = $this->homepageDataController->getPageData();
|
||||||
@ -48,6 +49,13 @@ class HomepageDataControllerTest extends \MailPoetTest {
|
|||||||
expect($taskListStatus['senderSet'])->true();
|
expect($taskListStatus['senderSet'])->true();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testItDoesntFetchTaskListStatusWhenTaskListDismissed(): void {
|
||||||
|
$settings = $this->diContainer->get(SettingsController::class);
|
||||||
|
$settings->set('homepage.task_list_dismissed', true);
|
||||||
|
$data = $this->homepageDataController->getPageData();
|
||||||
|
expect($data['task_list_status'])->null();
|
||||||
|
}
|
||||||
|
|
||||||
public function testItFetchesSubscribersAddedTaskListStatus(): void {
|
public function testItFetchesSubscribersAddedTaskListStatus(): void {
|
||||||
$data = $this->homepageDataController->getPageData();
|
$data = $this->homepageDataController->getPageData();
|
||||||
$taskListStatus = $data['task_list_status'];
|
$taskListStatus = $data['task_list_status'];
|
||||||
|
Reference in New Issue
Block a user