Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StateResolverTest.php
Go to the documentation of this file.
1 <?php
2 
8 
11 
15 class StateResolverTest extends \PHPUnit\Framework\TestCase
16 {
20  private $orderMock;
21 
25  private $orderStateResolver;
26 
27  protected function setUp()
28  {
29  $this->orderMock = $this->getMockBuilder(Order::class)
30  ->disableOriginalConstructor()
31  ->getMock();
32 
33  $this->orderStateResolver = new StateResolver();
34  }
35 
36  public function testStateComplete()
37  {
38  $this->assertEquals(Order::STATE_COMPLETE, $this->orderStateResolver->getStateForOrder($this->orderMock));
39  }
40 
41  public function testStateClosed()
42  {
43  $this->orderMock->expects($this->once())
44  ->method('getBaseGrandTotal')
45  ->willReturn(100);
46 
47  $this->orderMock->expects($this->once())
48  ->method('canCreditmemo')
49  ->willReturn(false);
50 
51  $this->orderMock->expects($this->once())
52  ->method('getTotalRefunded')
53  ->willReturn(10.99);
54 
55  $this->assertEquals(Order::STATE_CLOSED, $this->orderStateResolver->getStateForOrder($this->orderMock));
56  }
57 
58  public function testStateNew()
59  {
60  $this->orderMock->expects($this->once())
61  ->method('isCanceled')
62  ->willReturn(true);
63  $this->assertEquals(Order::STATE_NEW, $this->orderStateResolver->getStateForOrder($this->orderMock));
64  }
65 
66  public function testStateProcessing()
67  {
69  $this->orderMock->expects($this->once())
70  ->method('isCanceled')
71  ->willReturn(true);
72 
73  $this->orderMock->expects($this->any())
74  ->method('getState')
75  ->willReturn(Order::STATE_NEW);
76 
77  $this->assertEquals(
79  $this->orderStateResolver->getStateForOrder($this->orderMock, $arguments)
80  );
81  }
82 }
$arguments