createSubscribers(50); $result = $this->notice->init(true); verify($result)->stringContainsString('Good news! MailPoet won’t send emails to your 50 inactive subscribers.'); verify($result)->stringContainsString('https://kb.mailpoet.com/article/264-inactive-subscribers'); verify($result)->stringContainsString('Go to the Advanced Settings'); } public function testItDoesntDisplayWhenDisabled() { $this->createSubscribers(50); $this->notice->disable(); $result = $this->notice->init(true); verify($result)->null(); } public function testItDisplaysWhenInactiveTimeRangeIsTheDefaultValue() { $this->createSubscribers(50); $settingsFactory = new Settings(); $settingsFactory->withDeactivateSubscriberAfter12Months(); $result = $this->notice->init(true); verify($result)->stringContainsString('Good news! MailPoet won’t send emails to your 50 inactive subscribers.'); verify($result)->stringContainsString('https://kb.mailpoet.com/article/264-inactive-subscribers'); verify($result)->stringContainsString('Go to the Advanced Settings'); } public function testItDoesntDisplayWhenInactiveTimeRangeChanged() { $this->createSubscribers(50); $settingsFactory = new Settings(); $settingsFactory->withDeactivateSubscriberAfter3Months(); $result = $this->notice->init(true); verify($result)->null(); } public function testItDoesntDisplayWhenNotEnoughInactiveSubscribers() { $this->createSubscribers(49); $result = $this->notice->init(true); verify($result)->null(); } public function _before() { parent::_before(); $this->notice = new InactiveSubscribersNotice( SettingsController::getInstance(), $this->diContainer->get(SubscribersRepository::class), new WPFunctions() ); } private function createSubscribers($count) { for ($i = 0; $i < $count; $i++) { $subscriberFactory = new SubscriberFactory(); $subscriberFactory->withStatus(SubscriberEntity::STATUS_INACTIVE); $subscriberFactory->create(); } } }