1
+ <?php
2
+ /**
3
+ * Copyright © Magento, Inc. All rights reserved.
4
+ * See COPYING.txt for license details.
5
+ */
6
+
7
+ namespace Magento \Quote \Test \Unit \Model \ResourceModel ;
8
+
9
+ use Magento \Framework \DB \Sequence \SequenceInterface ;
10
+ use Magento \Framework \Model \ResourceModel \Db \Context ;
11
+ use Magento \Framework \Model \ResourceModel \Db \VersionControl \RelationComposite ;
12
+ use Magento \Framework \Model \ResourceModel \Db \VersionControl \Snapshot ;
13
+ use Magento \Quote \Model \Quote ;
14
+ use Magento \SalesSequence \Model \Manager ;
15
+
16
+ class QuoteTest extends \PHPUnit_Framework_TestCase
17
+ {
18
+ /**
19
+ * @var Quote|\PHPUnit_Framework_MockObject_MockObject
20
+ */
21
+ private $ quoteMock ;
22
+ /**
23
+ * @var Manager|\PHPUnit_Framework_MockObject_MockObject
24
+ */
25
+ private $ sequenceManagerMock ;
26
+ /**
27
+ * @var SequenceInterface|\PHPUnit_Framework_MockObject_MockObject
28
+ */
29
+ private $ sequenceMock ;
30
+ /**
31
+ * @var \Magento\Quote\Model\ResourceModel\Quote
32
+ */
33
+ private $ quote ;
34
+
35
+ /**
36
+ * {@inheritdoc}
37
+ */
38
+ protected function setUp ()
39
+ {
40
+ $ context = $ this ->getMockBuilder (Context::class)
41
+ ->disableOriginalConstructor ()
42
+ ->getMock ();
43
+ $ snapshot = $ this ->getMockBuilder (Snapshot::class)
44
+ ->disableOriginalConstructor ()
45
+ ->getMock ();
46
+ $ relationComposite = $ this ->getMockBuilder (RelationComposite::class)
47
+ ->disableOriginalConstructor ()
48
+ ->getMock ();
49
+ $ this ->quoteMock = $ this ->getMockBuilder (Quote::class)
50
+ ->disableOriginalConstructor ()
51
+ ->getMock ();
52
+ $ this ->sequenceManagerMock = $ this ->getMockBuilder (Manager::class)
53
+ ->disableOriginalConstructor ()
54
+ ->getMock ();
55
+ $ this ->sequenceMock = $ this ->getMockBuilder (SequenceInterface::class)
56
+ ->disableOriginalConstructor ()
57
+ ->getMock ();
58
+ $ this ->quote = new \Magento \Quote \Model \ResourceModel \Quote (
59
+ $ context ,
60
+ $ snapshot ,
61
+ $ relationComposite ,
62
+ $ this ->sequenceManagerMock ,
63
+ null
64
+ );
65
+ }
66
+
67
+ /**
68
+ * @param $entityType
69
+ * @param $storeId
70
+ * @param $reservedOrderId
71
+ * @dataProvider getReservedOrderIdDataProvider
72
+ */
73
+ public function testGetReservedOrderId ($ entityType , $ storeId , $ reservedOrderId )
74
+ {
75
+ $ this ->sequenceManagerMock ->expects ($ this ->once ())
76
+ ->method ('getSequence ' )
77
+ ->with ($ entityType , $ storeId )
78
+ ->willReturn ($ this ->sequenceMock );
79
+ $ this ->quoteMock ->expects ($ this ->once ())
80
+ ->method ('getStoreId ' )
81
+ ->willReturn ($ storeId );
82
+ $ this ->sequenceMock ->expects ($ this ->once ())
83
+ ->method ('getNextValue ' )
84
+ ->willReturn ($ reservedOrderId );
85
+ $ this ->assertEquals ($ reservedOrderId , $ this ->quote ->getReservedOrderId ($ this ->quoteMock ));
86
+ }
87
+
88
+ /**
89
+ * @return array
90
+ */
91
+ public function getReservedOrderIdDataProvider ()
92
+ {
93
+ return [
94
+ [\Magento \Sales \Model \Order::ENTITY , 1 , '1000000001 ' ],
95
+ [\Magento \Sales \Model \Order::ENTITY , 2 , '2000000001 ' ],
96
+ [\Magento \Sales \Model \Order::ENTITY , 3 , '3000000001 ' ]
97
+ ];
98
+ }
99
+ }
0 commit comments