1
0
mirror of synced 2024-11-24 06:16:29 +03:00
bitrix-module/tests/lib/component/handlers/EventsHandlersTest.php

60 lines
1.9 KiB
PHP
Raw Normal View History

<?php
use Intaro\RetailCrm\Component\Handlers\EventsHandlers;
use Bitrix\Main\EventManager;
class EventsHandlersTest extends \BitrixTestCase
{
public function setUp()
{
parent::setUp();
COption::SetOptionString('intaro.retailcrm', 'api_version', 'v5');
CModule::IncludeModule('intaro.retailcrm');
}
/**
* @runInSeparateProcess
* @preserveGlobalState disabled
*/
public function testOnSaleOrderSavedHandler()
{
$order = \Bitrix\Sale\Order::create('s1', 2, 'RUB');
$order->setPersonTypeId(2);
$event = $this->createMock(\Bitrix\Main\Event::class);
$event->method('getParameter')->willReturn($order);
$spy = \Mockery::spy('overload:' .RetailCrmEvent::class);
$onSaleOrderSaved = new EventsHandlers();
$onSaleOrderSaved->OnSaleOrderSavedHandler($event);
//Проверяет, был ли вызван метод класса. Если метод не вызывался, выдает ошибку теста
//Если метод вызывался, ошибку не выдает, но phpunit выдает сообщение об отсутствии тестов
$spy->shouldHaveReceived('orderSave');
self::assertTrue(true);
}
/**
* @runInSeparateProcess
* @preserveGlobalState disabled
*/
public function testOnSaleOrderNotSavedHandler()
{
$order = \Bitrix\Sale\Order::create('s1', 2, 'RUB');
$order->setPersonTypeId(2);
$event = $this->createMock(\Bitrix\Main\Event::class);
$event->method('getParameter')->willReturn($order);
$spy = \Mockery::spy('overload:' .RetailCrmEvent::class);
$onSaleOrderSaved = new EventsHandlers();
$onSaleOrderSaved::$disableSaleHandler = true;
$onSaleOrderSaved->OnSaleOrderSavedHandler($event);
$spy->shouldNotHaveReceived('orderSave');
self::assertTrue(true);
}
}