Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
RequestQuantityProcessorTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
12 use \PHPUnit_Framework_MockObject_MockObject as MockObject;
13 
14 class RequestQuantityProcessorTest extends \PHPUnit\Framework\TestCase
15 {
19  private $localeResolver;
20 
24  private $requestProcessor;
25 
26  protected function setUp()
27  {
28  $this->localeResolver = $this->getMockBuilder(ResolverInterface::class)
29  ->getMockForAbstractClass();
30 
31  $this->localeResolver->method('getLocale')
32  ->willReturn('en_US');
33 
34  $this->requestProcessor = new RequestQuantityProcessor(
35  $this->localeResolver
36  );
37  }
38 
46  public function testProcess($cartData, $expected)
47  {
48  $this->assertEquals($this->requestProcessor->process($cartData), $expected);
49  }
50 
51  public function cartDataProvider()
52  {
53  return [
54  'empty_array' => [
55  'cartData' => [],
56  'expected' => [],
57  ],
58  'strings_array' => [
59  'cartData' => [
60  ['qty' => ' 10 '],
61  ['qty' => ' 0.5 ']
62  ],
63  'expected' => [
64  ['qty' => 10],
65  ['qty' => 0.5]
66  ],
67  ],
68  'integer_array' => [
69  'cartData' => [
70  ['qty' => 1],
71  ['qty' => 0.002]
72  ],
73  'expected' => [
74  ['qty' => 1],
75  ['qty' => 0.002]
76  ],
77  ],
78  'array_of arrays' => [
79  'cartData' => [
80  ['qty' => [1, 2 ,3]],
81  ],
82  'expected' => [
83  ['qty' => [1, 2, 3]],
84  ],
85  ],
86  ];
87  }
88 }