38 $this->_model = $this->getMockForAbstractClass(
39 \
Magento\Backend\Model\Widget\Grid\AbstractTotals::class,
47 $this->_model->expects($this->any())->method(
'_countSum')->will($this->returnValue(2));
48 $this->_model->expects($this->any())->method(
'_countAverage')->will($this->returnValue(2));
55 unset($this->_parserMock);
56 unset($this->_factoryMock);
66 $collection = new \Magento\Framework\Data\Collection(
67 $this->createMock(\
Magento\Framework\Data\Collection\EntityFactory::class)
69 $items = [new \Magento\Framework\DataObject([
'test1' =>
'1',
'test2' =>
'2'])];
85 'test3' =>
'test1+test2',
86 'test4' =>
'test1-test2',
87 'test5' =>
'test1*test2',
88 'test6' =>
'test1/test2',
93 $this->_model->setColumn(
$index, $expression);
102 $this->_parserMock = $this->createPartialMock(
103 \
Magento\Backend\Model\Widget\Grid\Parser::class,
104 [
'parseExpression',
'isOperation']
108 [
'test1+test2', [
'test1',
'test2',
'+']],
109 [
'test1-test2', [
'test1',
'test2',
'-']],
110 [
'test1*test2', [
'test1',
'test2',
'*']],
111 [
'test1/test2', [
'test1',
'test2',
'/']],
112 [
'test1/0', [
'test1',
'0',
'/']],
114 $this->_parserMock->expects(
119 $this->returnValueMap($columnsValueMap)
122 $isOperationValueMap = [
131 $this->_parserMock->expects(
136 $this->returnValueMap($isOperationValueMap)
145 $this->_factoryMock = $this->createPartialMock(\
Magento\Framework\DataObject\Factory::class, [
'create']);
158 new \Magento\Framework\DataObject(
170 [[], new \Magento\Framework\DataObject()],
172 $this->_factoryMock->expects($this->any())->method(
'create')->will($this->returnValueMap($createValueMap));
180 'test3' =>
'test1+test2',
181 'test4' =>
'test1-test2',
182 'test5' =>
'test1*test2',
183 'test6' =>
'test1/test2',
184 'test7' =>
'test1/0',
187 $this->assertEquals($expected, $this->_model->getColumns());
192 $expected = new \Magento\Framework\DataObject(
193 [
'test1' => 2,
'test2' => 2,
'test3' => 4,
'test4' => 0,
'test5' => 4,
'test6' => 1,
'test7' => 0]
195 $this->assertEquals($expected, $this->_model->countTotals($this->_getTestCollection()));
201 $this->_model->reset();
203 $this->assertEquals(
new \
Magento\Framework\DataObject(), $this->_model->getTotals());
204 $this->assertNotEmpty($this->_model->getColumns());
210 $this->_model->reset(
true);
212 $this->assertEquals(
new \
Magento\Framework\DataObject(), $this->_model->getTotals());
213 $this->assertEmpty($this->_model->getColumns());