diff --git a/tests/lib/component/handlers/EventsHandlersTest.php b/tests/lib/component/handlers/EventsHandlersTest.php new file mode 100644 index 00000000..ea55fbff --- /dev/null +++ b/tests/lib/component/handlers/EventsHandlersTest.php @@ -0,0 +1,60 @@ +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); + } +} \ No newline at end of file