createSubscribers(50); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions()); $result = $notice->init(true); expect($result)->contains('Good news! MailPoet won’t send emails to your 50 inactive subscribers.'); expect($result)->contains('https://kb.mailpoet.com/article/264-inactive-subscribers'); expect($result)->contains('Go to the Advanced Settings'); } function testItDoesntDisplayWhenDisabled() { $this->createSubscribers(50); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions()); $notice->disable(); $result = $notice->init(true); expect($result)->null(); } function testItDoesntDisplayWhenInactiveTimeRangeChanged() { $this->createSubscribers(50); $settings_factory = new Settings(); $settings_factory->withDeactivateSubscriberAfter3Months(); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions()); $result = $notice->init(true); expect($result)->null(); } function testItDoesntDisplayWhenNotEnoughInactiveSubscribers() { $this->createSubscribers(49); $notice = new InactiveSubscribersNotice(SettingsController::getInstance(), new WPFunctions()); $result = $notice->init(true); expect($result)->null(); } function _before() { parent::_before(); $this->cleanup(); } function _after() { parent::_after(); $this->cleanup(); } private function cleanup() { $this->di_container->get(SettingsRepository::class)->truncate(); \ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); } private function createSubscribers($count) { for ($i = 0; $i < $count; $i++) { $subscriber_factory = new SubscriberFactory(); $subscriber_factory->withStatus(Subscriber::STATUS_INACTIVE); $subscriber_factory->create(); } } }