14 class TaxTest extends \PHPUnit\Framework\TestCase
29 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class,
30 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::getBackendModelName()
41 $attributeMock = $this->getMockBuilder(\
Magento\Eav\Model\Attribute::class)
42 ->setMethods([
'getName'])
43 ->disableOriginalConstructor()
46 ->expects($this->any())
48 ->will($this->returnValue(
'weeeTax'));
50 $modelMock = $this->getMockBuilder(\
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class)
51 ->setMethods([
'getAttribute'])
52 ->disableOriginalConstructor()
55 ->expects($this->any())
56 ->method(
'getAttribute')
57 ->will($this->returnValue($attributeMock));
59 $taxes = [reset(
$data)];
60 $productMock = $this->getMockBuilder(\
Magento\Catalog\Model\Product::class)
61 ->setMethods([
'getData'])
62 ->disableOriginalConstructor()
65 ->expects($this->any())
67 ->will($this->returnValue($taxes));
70 $modelMock->validate($productMock);
73 $productMock = $this->getMockBuilder(\
Magento\Catalog\Model\Product::class)
74 ->setMethods([
'getData'])
75 ->disableOriginalConstructor()
78 ->expects($this->any())
80 ->will($this->returnValue($taxes));
83 $this->expectException(
'Exception');
84 $this->expectExceptionMessage($expected);
85 $modelMock->validate($productMock);
96 [
'state' => 12,
'country' =>
'US',
'website_id' =>
'1'],
97 [
'state' => 99,
'country' =>
'ES',
'website_id' =>
'1'],
98 [
'state' => 12,
'country' =>
'US',
'website_id' =>
'1'],
99 [
'state' =>
null,
'country' =>
'ES',
'website_id' =>
'1']
101 'expected' =>
'Set unique country-state combinations within the same fixed product tax. ' 102 .
'Verify the combinations and try again.',
109 $data = [[
'website_id' => 1,
'value' => 1]];
111 $attributeTaxMock = $this->getMockBuilder(\
Magento\Weee\Model\
ResourceModel\Attribute\Backend\Weee\Tax::class)
112 ->setMethods([
'loadProductData'])
113 ->disableOriginalConstructor()
116 ->expects($this->any())
117 ->method(
'loadProductData')
118 ->will($this->returnValue(
$data));
120 $attributeMock = $this->getMockBuilder(\
Magento\Eav\Model\Attribute::class)
121 ->setMethods([
'getName'])
122 ->disableOriginalConstructor()
125 ->expects($this->any())
127 ->will($this->returnValue(
'weeeTax'));
129 $model = $this->objectManager->getObject(
130 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class,
132 'attributeTax' => $attributeTaxMock,
133 '_attribute' => $attributeMock
137 $model->setAttribute($attributeMock);
138 $productMock = $this->getMockBuilder(\
Magento\Catalog\Model\Product::class)
139 ->setMethods([
'setData'])
140 ->disableOriginalConstructor()
157 $productMock = $this->getMockBuilder(\
Magento\Catalog\Model\Product::class)
158 ->setMethods([
'getOrigData',
'getData'])
159 ->disableOriginalConstructor()
163 ->expects($this->once())
164 ->method(
'getOrigData')
165 ->will($this->returnValue($origData));
167 ->expects($this->any())
169 ->will($this->returnValue($currentData));
171 $attributeTaxMock = $this->getMockBuilder(\
Magento\Weee\Model\
ResourceModel\Attribute\Backend\Weee\Tax::class)
172 ->setMethods([
'deleteProductData',
'insertProductData'])
173 ->disableOriginalConstructor()
176 ->expects($this->once())
177 ->method(
'deleteProductData')
178 ->will($this->returnValue(
null));
180 ->expects($this->once())
181 ->method(
'insertProductData')
182 ->with($productMock, $expectedData)
183 ->will($this->returnValue(
null));
185 $attributeMock = $this->getMockBuilder(\
Magento\Eav\Model\Attribute::class)
186 ->setMethods([
'getName',
'getId'])
187 ->disableOriginalConstructor()
190 ->expects($this->any())
192 ->will($this->returnValue(
'weeeTax'));
194 ->expects($this->any())
196 ->will($this->returnValue(1));
198 $model = $this->objectManager->getObject(
199 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class,
201 'attributeTax' => $attributeTaxMock,
202 '_attribute' => $attributeMock
206 $model->setAttribute($attributeMock);
207 $model->afterSave($productMock);
217 'origData' => [[
'state' => 12,
'country' =>
'US',
'website_id' =>
'1']],
218 'currentData' => [[
'state' => 12,
'country' =>
'US',
'website_id' =>
'2',
'price' => 100]],
219 'expectedData' => [
'state' => 12,
'country' =>
'US',
'website_id' =>
'2',
'value' => 100,
220 'attribute_id' => 1]],
222 'origData' => [[
'country' =>
'US',
'website_id' =>
'1']],
223 'currentData' => [[
'country' =>
'US',
'website_id' =>
'2',
'price' => 100]],
224 'expectedData' => [
'state' => 0,
'country' =>
'US',
'website_id' =>
'2',
'value' => 100,
225 'attribute_id' => 1]]
231 $attributeTaxMock = $this->getMockBuilder(\
Magento\Weee\Model\
ResourceModel\Attribute\Backend\Weee\Tax::class)
232 ->setMethods([
'deleteProductData'])
233 ->disableOriginalConstructor()
236 ->expects($this->once())
237 ->method(
'deleteProductData')
239 ->will($this->returnValue(
null));
241 $model = $this->objectManager->getObject(
242 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class,
244 'attributeTax' => $attributeTaxMock,
248 $model->afterDelete(
null);
253 $attributeTaxMock = $this->getMockBuilder(\
Magento\Weee\Model\
ResourceModel\Attribute\Backend\Weee\Tax::class)
254 ->setMethods([
'getTable'])
255 ->disableOriginalConstructor()
258 ->expects($this->once())
261 ->will($this->returnValue(
null));
263 $model = $this->objectManager->getObject(
264 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class,
266 'attributeTax' => $attributeTaxMock,
280 $attributeTaxMock = $this->getMockBuilder(\
Magento\Weee\Model\
ResourceModel\Attribute\Backend\Weee\Tax::class)
281 ->setMethods([
'getIdFieldName'])
282 ->disableOriginalConstructor()
286 ->expects($this->once())
287 ->method(
'getIdFieldName')
290 $model = $this->objectManager->getObject(
291 \
Magento\Weee\Model\Attribute\Backend\Weee\Tax::class,
293 'attributeTax' => $attributeTaxMock,
297 $model->getEntityIdField();
testAfterSaveWithRegion($origData, $currentData, $expectedData)
testGetBackendModelName()
dataProviderAfterSaveWithRegion()
testValidate($data, $expected)