how to test sugarhook logic in sugarcrm10

I have the following logic hook 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if (!defined('sugarEntry') || !sugarEntry) {
die('Not A Valid Entry Point');
}
require_once('modules/Order/OrderSearchHelper.php');
/**
* Class OrderHooks
*/
class OrderHooks
{
public $bean;
public $event;
public $arguments;
public $logger;
public function init($bean, $event, $arguments, $logger)
{
$this->bean = $bean;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I have been trying to test some of this code using phpunit and mocking objects, But I am having trouble understanding how it works and what to do

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
use PHPUnit\Framework\TestCase;
require_once 'custom/modules/Order/OrderHooks.php';
/**
* Class OrderHooksTest
* @coversDefaultClass OrderHooks
*/
class OrderHooksTest extends TestCase
{
private $hooks;
private $booking;
private $Order;
protected function setUp()
{
parent::setUp();
$this->logger = $this->createMock(SugarLogger::class);
$this->booking = $this->createMock(CustomMeeting::class);
$this->Order = $this->createMock(Order::class);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I get error with `Attempt to assign property 'getBeans' of non-object`