SalesOrderAfterPlaceObserverTest::setUp()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
4
namespace Stockbase\Integration\Test\Unit\Model\Observer;
5
6
use PHPUnit\Framework\TestCase;
7
use Stockbase\Integration\Model\Inventory\StockbaseStockManagement;
8
use Stockbase\Integration\Model\Observer\SalesOrderAfterPlaceObserver;
9
use Stockbase\Integration\Model\StockItemReserve;
10
11
/**
12
 * Class SalesOrderAfterPlaceObserverTest
13
 */
14
class SalesOrderAfterPlaceObserverTest extends TestCase
15
{
16
    /** @var StockbaseStockManagement|\PHPUnit_Framework_MockObject_MockObject */
17
    private $stockbaseStockManagement;
18
    
19
    /**
20
     * {@inheritdoc}
21
     */
22 1
    public function setUp()
23
    {
24 1
        $this->stockbaseStockManagement = $this->createMock(StockbaseStockManagement::class);
25 1
    }
26
27
    /**
28
     * testExecute
29
     */
30 1
    public function testExecute()
31
    {
32 1
        $item = $this->createMock(\Magento\Sales\Model\Order\Item::class);
33 1
        $item->method('getQuoteItemId')->willReturn(101);
34 1
        $item->method('getId')->willReturn(201);
35
        
36 1
        $order = $this->createMock(\Magento\Sales\Model\Order::class);
37 1
        $order->method('getAllItems')->willReturn([$item]);
38
39 1
        $observer = new \Magento\Framework\Event\Observer([
40 1
            'event' => new \Magento\Framework\Event([
41 1
                'order' => $order,
42
            ]),
43
        ]);
44
        
45 1
        $reserve = $this->createMock(StockItemReserve::class);
46 1
        $reserve->expects($this->once())->method('setOrderItemId')->with(201);
47 1
        $reserve->expects($this->once())->method('save');
48
49 1
        $this->stockbaseStockManagement->method('getReserveForQuoteItem')->with(101)->willReturn([
50 1
            101 => $reserve,
51
        ]);
52
        
53 1
        $handler = new SalesOrderAfterPlaceObserver($this->stockbaseStockManagement);
54 1
        $handler->execute($observer);
55 1
    }
56
}
57