Files
piratepoet/tests/integration/Cron/Workers/BeamerTest.php
Amine Ben hammou 43df66d162 Add public keyword to methods
[MAILPOET-2413]
2019-12-26 18:09:45 +03:00

73 lines
2.8 KiB
PHP

<?php
namespace MailPoet\Test\Cron\Workers;
use Codeception\Stub;
use MailPoet\Cron\Workers\Beamer;
use MailPoet\Settings\SettingsController;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
class BeamerTest extends \MailPoetTest {
public function testItSetsLastAnnouncementDate() {
$oldDate = '2019-05-18T10:25:00.000Z';
$newDate = '2019-05-22T10:25:00.000Z';
$settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null,
'wpRemoteRetrieveBody' => json_encode([
['date' => $newDate],
]),
]);
$beamer = new Beamer($settings, $wp);
$done = $beamer->setLastAnnouncementDate();
expect($done)->equals(true);
expect($settings->get('last_announcement_date'))->equals(Carbon::createFromTimeString($newDate)->getTimestamp());
}
public function testItDoesNothingIfNoResponse() {
$oldDate = '2019-05-18T10:25:00.000Z';
$settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null,
'wpRemoteRetrieveBody' => null,
]);
$beamer = new Beamer($settings, $wp);
$done = $beamer->setLastAnnouncementDate();
expect($done)->equals(false);
expect($settings->get('last_announcement_date'))->equals(Carbon::createFromTimeString($oldDate)->getTimestamp());
}
public function testItDoesNothingIfWrongResponse() {
$oldDate = '2019-05-18T10:25:00.000Z';
$settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null,
'wpRemoteRetrieveBody' => '[{"corrupted":"json data',
]);
$beamer = new Beamer($settings, $wp);
$done = $beamer->setLastAnnouncementDate();
expect($done)->equals(false);
expect($settings->get('last_announcement_date'))->equals(Carbon::createFromTimeString($oldDate)->getTimestamp());
}
public function testItDoesNothingIfEmptyList() {
$oldDate = '2019-05-18T10:25:00.000Z';
$settings = SettingsController::getInstance();
$settings->set('last_announcement_date', Carbon::createFromTimeString($oldDate)->getTimestamp());
$wp = Stub::make(new WPFunctions, [
'wpRemoteGet' => null,
'wpRemoteRetrieveBody' => '[]',
]);
$beamer = new Beamer($settings, $wp);
$done = $beamer->setLastAnnouncementDate();
expect($done)->equals(false);
expect($settings->get('last_announcement_date'))->equals(Carbon::createFromTimeString($oldDate)->getTimestamp());
}
}