Spaces:
No application file
No application file
namespace Mautic\WebhookBundle\Tests\Entity; | |
use Mautic\WebhookBundle\Entity\Webhook; | |
use PHPUnit\Framework\Assert; | |
class WebhookTest extends \PHPUnit\Framework\TestCase | |
{ | |
public function testWasModifiedRecentlyWithNotModifiedWebhook(): void | |
{ | |
$webhook = new Webhook(); | |
$this->assertNull($webhook->getDateModified()); | |
$this->assertFalse($webhook->wasModifiedRecently()); | |
} | |
public function testWasModifiedRecentlyWithWebhookModifiedAWhileBack(): void | |
{ | |
$webhook = new Webhook(); | |
$webhook->setDateModified((new \DateTime())->modify('-20 days')); | |
$this->assertFalse($webhook->wasModifiedRecently()); | |
} | |
public function testWasModifiedRecentlyWithWebhookModifiedRecently(): void | |
{ | |
$webhook = new Webhook(); | |
$webhook->setDateModified((new \DateTime())->modify('-2 hours')); | |
$this->assertTrue($webhook->wasModifiedRecently()); | |
} | |
public function testTriggersFromApiAreStoredAsEvents(): void | |
{ | |
$webhook = new Webhook(); | |
$triggers = [ | |
'mautic.company_post_save', | |
'mautic.company_post_delete', | |
'mautic.lead_channel_subscription_changed', | |
]; | |
$webhook->setTriggers($triggers); | |
$events = $webhook->getEvents(); | |
Assert::assertCount(3, $events); | |
foreach ($events as $key => $event) { | |
Assert::assertEquals($event->getEventType(), $triggers[$key]); | |
Assert::assertSame($webhook, $event->getWebhook()); | |
} | |
} | |
} | |