43 $this->totalFactoryMock =
45 $this->collectionListMock = $this->createMock(\
Magento\
Quote\Model\
Quote\TotalsCollectorList::class);
47 $this->quoteMock = $this->createMock(\
Magento\
Quote\Model\Quote::class);
48 $this->collectorMock =
50 $this->model = new \Magento\Quote\Model\Quote\TotalsReader(
51 $this->totalFactoryMock,
52 $this->collectionListMock
62 $expected = [
'my_total_type' => $testedTotalMock];
63 $data = [
'code' =>
'my_total_type'];
64 $this->totalMock->expects($this->once())->method(
'setData')->with([])->willReturnSelf();
65 $this->quoteMock->expects($this->once())->method(
'getStoreId')->willReturn(
$storeId);
66 $this->totalFactoryMock
67 ->expects($this->at(0))
69 ->willReturn($this->totalMock);
70 $this->totalFactoryMock->expects($this->at(1))->method(
'create')->willReturn($testedTotalMock);
71 $this->collectionListMock
72 ->expects($this->once())
73 ->method(
'getCollectors')
74 ->with(
$storeId)->willReturn([$this->collectorMock]);
76 ->expects($this->once())
78 ->with($this->quoteMock, $this->totalMock)
80 $testedTotalMock->expects($this->once())->method(
'setData')->with(
$data)->willReturnSelf();
81 $testedTotalMock->expects($this->any())->method(
'getCode')->willReturn(
'my_total_type');
82 $this->assertEquals($expected, $this->model->fetch($this->quoteMock, $total));
89 $this->totalMock->expects($this->once())->method(
'setData')->with([])->willReturnSelf();
90 $this->quoteMock->expects($this->once())->method(
'getStoreId')->willReturn(
$storeId);
91 $this->totalFactoryMock
92 ->expects($this->once())
94 ->willReturn($this->totalMock);
95 $this->collectionListMock
96 ->expects($this->once())
97 ->method(
'getCollectors')
98 ->with(
$storeId)->willReturn([$this->collectorMock]);
100 ->expects($this->once())
102 ->with($this->quoteMock, $this->totalMock)
104 $this->assertEquals([], $this->model->fetch($this->quoteMock, $total));
115 $expected = [
'first_total_type' => $firstTotalMock,
'second_total_type' => $secondTotalMock];
116 $data = [[
'code' =>
'first_total_type'], [
'code' =>
'second_total_type']];
117 $this->totalMock->expects($this->once())->method(
'setData')->with([])->willReturnSelf();
118 $this->quoteMock->expects($this->once())->method(
'getStoreId')->willReturn(
$storeId);
119 $this->totalFactoryMock
120 ->expects($this->at(0))
122 ->willReturn($this->totalMock);
123 $this->totalFactoryMock->expects($this->at(1))->method(
'create')->willReturn($firstTotalMock);
124 $this->totalFactoryMock->expects($this->at(2))->method(
'create')->willReturn($secondTotalMock);
125 $this->collectionListMock
126 ->expects($this->once())
127 ->method(
'getCollectors')
128 ->with(
$storeId)->willReturn([$this->collectorMock]);
130 ->expects($this->once())
132 ->with($this->quoteMock, $this->totalMock)
134 $firstTotalMock->expects($this->once())->method(
'setData')->with(
$data[0])->willReturnSelf();
135 $secondTotalMock->expects($this->once())->method(
'setData')->with(
$data[1])->willReturnSelf();
136 $firstTotalMock->expects($this->any())->method(
'getCode')->willReturn(
'first_total_type');
137 $secondTotalMock->expects($this->any())->method(
'getCode')->willReturn(
'second_total_type');
138 $this->assertEquals($expected, $this->model->fetch($this->quoteMock, $total));
147 $expected = [
'my_total_type' => $testedTotalMock];
148 $this->totalMock->expects($this->once())->method(
'setData')->with([])->willReturnSelf();
149 $this->quoteMock->expects($this->once())->method(
'getStoreId')->willReturn(
$storeId);
150 $this->totalFactoryMock
151 ->expects($this->once())
153 ->willReturn($this->totalMock);
154 $this->collectionListMock
155 ->expects($this->once())
156 ->method(
'getCollectors')
157 ->with(
$storeId)->willReturn([$this->collectorMock]);
159 ->expects($this->once())
161 ->with($this->quoteMock, $this->totalMock)
162 ->willReturn($testedTotalMock);
163 $testedTotalMock->expects($this->never())->method(
'setData');
164 $testedTotalMock->expects($this->any())->method(
'getCode')->willReturn(
'my_total_type');
165 $this->assertEquals($expected, $this->model->fetch($this->quoteMock, $total));
testFetchSeveralCollectors()