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();
}
}
}