Spaces:
No application file
No application file
namespace Mautic\CampaignBundle\Tests\Membership; | |
use Mautic\CampaignBundle\CampaignEvents; | |
use Mautic\CampaignBundle\Entity\Campaign; | |
use Mautic\CampaignBundle\Event\CampaignLeadChangeEvent; | |
use Mautic\CampaignBundle\Membership\Action\Adder; | |
use Mautic\CampaignBundle\Membership\EventDispatcher; | |
use Mautic\LeadBundle\Entity\Lead; | |
use Symfony\Component\EventDispatcher\EventDispatcherInterface; | |
class EventDispatcherTest extends \PHPUnit\Framework\TestCase | |
{ | |
/** | |
* @var EventDispatcherInterface|\PHPUnit\Framework\MockObject\MockObject | |
*/ | |
private \PHPUnit\Framework\MockObject\MockObject $eventDispatcher; | |
protected function setUp(): void | |
{ | |
$this->eventDispatcher = $this->createMock(EventDispatcherInterface::class); | |
} | |
public function testLeadChangeEventDispatched(): void | |
{ | |
$this->eventDispatcher->expects($this->once()) | |
->method('dispatch') | |
->with($this->isInstanceOf(CampaignLeadChangeEvent::class), CampaignEvents::CAMPAIGN_ON_LEADCHANGE); | |
$this->getDispatcher()->dispatchMembershipChange(new Lead(), new Campaign(), Adder::NAME); | |
} | |
public function testBatchChangeEventDispatched(): void | |
{ | |
$this->eventDispatcher->expects($this->once()) | |
->method('dispatch') | |
->with($this->isInstanceOf(CampaignLeadChangeEvent::class), CampaignEvents::LEAD_CAMPAIGN_BATCH_CHANGE); | |
$this->getDispatcher()->dispatchBatchMembershipChange([new Lead()], new Campaign(), Adder::NAME); | |
} | |
private function getDispatcher() | |
{ | |
return new EventDispatcher($this->eventDispatcher); | |
} | |
} | |