Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AbstractConfigTest.php
Go to the documentation of this file.
1 <?php
7 
9 use Magento\Store\Model\ScopeInterface as ModelScopeInterface;
13 
18 class AbstractConfigTest extends \PHPUnit\Framework\TestCase
19 {
20 
24  protected $scopeConfigMock;
25 
29  protected $config;
30 
31  protected function setUp()
32  {
33  $this->scopeConfigMock = $this->getMockBuilder(\Magento\Framework\App\Config\ScopeConfigInterface::class)
34  ->setMethods(['getValue', 'isSetFlag'])
35  ->getMockForAbstractClass();
36 
37  $this->config = new AbstractConfigTesting($this->scopeConfigMock);
38  }
39 
45  public function testSetMethod($method, $expected)
46  {
47  $this->assertSame($this->config, $this->config->setMethod($method));
48  $this->assertEquals($expected, $this->config->getMethodCode());
49  }
50 
51  public function testSetMethodInstance()
52  {
54  $methodInterfaceMock = $this->getMockBuilder(\Magento\Payment\Model\MethodInterface::class)
55  ->getMockForAbstractClass();
56  $this->assertSame($this->config, $this->config->setMethodInstance($methodInterfaceMock));
57  }
58 
66  public function setMethodDataProvider()
67  {
69  $methodInterfaceMock = $this->getMockBuilder(\Magento\Payment\Model\MethodInterface::class)
70  ->getMockForAbstractClass();
71  $methodInterfaceMock->expects($this->once())
72  ->method('getCode')
73  ->willReturn('payment_code');
74  return [
75  ['payment_code', 'payment_code'],
76  [$methodInterfaceMock, 'payment_code'],
77  [['array'], null]
78  ];
79  }
80 
81  public function testGetMethod()
82  {
83  $this->config->setMethod('method');
84  $this->assertEquals('method', $this->config->getMethodCode());
85  }
86 
87  public function testSetStoreId()
88  {
89  $this->assertSame($this->config, $this->config->setStoreId(1));
90  }
91 
100  public function testGetValue($key, $method, $returnMap, $expectedValue)
101  {
102  $this->config->setMethod($method);
103  $this->scopeConfigMock->expects($this->any())
104  ->method('getValue')
105  ->willReturnMap($returnMap);
106 
107  $this->assertEquals($expectedValue, $this->config->getValue($key));
108  }
109 
121  public function getValueDataProvider()
122  {
123  return [
124  [
125  'payment_action',
127  [
128  ['payment/paypal_express/payment_action', ModelScopeInterface::SCOPE_STORE, null, 'notSaleValue'],
129  ['payment/paypal_express/business_account', ModelScopeInterface::SCOPE_STORE, null, 1],
130  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
131  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 1],
132  ['payment/paypal_express/api_signature', ModelScopeInterface::SCOPE_STORE, null, 0],
133  ['payment/paypal_express/api_cert', ModelScopeInterface::SCOPE_STORE, null, 0],
134  ],
136  ],
137  [
138  'payment_action',
140  [
141  ['payment/paypal_express/payment_action', ModelScopeInterface::SCOPE_STORE, null, 'configValue'],
142  ['payment/paypal_express/business_account', ModelScopeInterface::SCOPE_STORE, null, 1],
143  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
144  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 1],
145  ['payment/paypal_express/api_signature', ModelScopeInterface::SCOPE_STORE, null, 1],
146  ['payment/paypal_express/api_cert', ModelScopeInterface::SCOPE_STORE, null, 0],
147  ],
148  'configValue'
149  ],
150  [
151  'payment_other',
153  [
154  ['payment/paypal_express/payment_other', ModelScopeInterface::SCOPE_STORE, null, 'configValue'],
155  ],
156  'configValue'
157  ],
158  [
159  'payment_action',
161  [
162  ['payment/paypal_express/payment_action', ModelScopeInterface::SCOPE_STORE, null, 'Sale'],
163  ],
164  'Sale'
165  ],
166  [
167  'payment_action',
169  [
170  ['payment/paypal_express/payment_action', ModelScopeInterface::SCOPE_STORE, null, 'configValue'],
171  ['payment/paypal_express/business_account', ModelScopeInterface::SCOPE_STORE, null, 0],
172  ],
173  'configValue'
174  ],
175  [
176  'payment_action',
177  'method_other',
178  [
179  ['payment/method_other/payment_action', ModelScopeInterface::SCOPE_STORE, null, 'configValue'],
180  ],
181  'configValue'
182  ],
183  ];
184  }
185 
192  public function testIsWppApiAvailabe($returnMap, $expectedValue)
193  {
194  $this->config->setMethod('paypal_express');
195  $this->scopeConfigMock->expects($this->any())
196  ->method('getValue')
197  ->willReturnMap($returnMap);
198 
199  $this->assertEquals($expectedValue, $this->config->isWppApiAvailabe());
200  }
201 
206  {
207  return [
208  [
209  [
210  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
211  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 1],
212  ['payment/paypal_express/api_signature', ModelScopeInterface::SCOPE_STORE, null, 0],
213  ['payment/paypal_express/api_cert', ModelScopeInterface::SCOPE_STORE, null, 0],
214  ],
215  false
216  ],
217  [
218  [
219  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 0],
220  ],
221  false
222  ],
223  [
224  [
225  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
226  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 0],
227  ],
228  false
229  ],
230  [
231  [
232  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
233  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 1],
234  ['payment/paypal_express/api_signature', ModelScopeInterface::SCOPE_STORE, null, 1],
235  ['payment/paypal_express/api_cert', ModelScopeInterface::SCOPE_STORE, null, 0],
236  ],
237  true
238  ],
239  [
240  [
241  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
242  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 1],
243  ['payment/paypal_express/api_signature', ModelScopeInterface::SCOPE_STORE, null, 0],
244  ['payment/paypal_express/api_cert', ModelScopeInterface::SCOPE_STORE, null, 1],
245  ],
246  true
247  ],
248  [
249  [
250  ['payment/paypal_express/api_username', ModelScopeInterface::SCOPE_STORE, null, 1],
251  ['payment/paypal_express/api_password', ModelScopeInterface::SCOPE_STORE, null, 1],
252  ['payment/paypal_express/api_signature', ModelScopeInterface::SCOPE_STORE, null, 1],
253  ['payment/paypal_express/api_cert', ModelScopeInterface::SCOPE_STORE, null, 1],
254  ],
255  true
256  ],
257  ];
258  }
259 
266  public function testIsMethodAvailable($methodCode, $expectedFlag)
267  {
268  $this->config->setMethod('settedMethod');
269  $this->scopeConfigMock->expects($this->once())
270  ->method('isSetFlag')
271  ->with($expectedFlag);
272 
273  $this->config->isMethodAvailable($methodCode);
274  }
275 
280  {
281  return [
282  [null, 'payment/settedMethod/active'],
283  ['newMethod', 'payment/newMethod/active'],
284  ];
285  }
286 
287  public function testIsMethodActive()
288  {
289  $this->scopeConfigMock->expects($this->once())
290  ->method('isSetFlag')
291  ->with('payment/method/active');
292 
293  $this->config->isMethodActive('method');
294  }
295 
299  public function testGetBuildNotationCode()
300  {
301  $productMetadata = $this->getMockBuilder(ProductMetadataInterface::class)
302  ->disableOriginalConstructor()
303  ->getMock();
304  $productMetadata->method('getEdition')
305  ->willReturn('SomeEdition');
306 
307  $objectManagerHelper = new ObjectManagerHelper($this);
308  $objectManagerHelper->setBackwardCompatibleProperty(
309  $this->config,
310  'productMetadata',
311  $productMetadata
312  );
313 
314  self::assertEquals('Magento_Cart_SomeEdition', $this->config->getBuildNotationCode());
315  }
316 
321  {
322  $notationCode = 'Magento_Cart_EditionFromConfig';
323 
324  $this->scopeConfigMock->method('getValue')
325  ->with(self::equalTo('paypal/notation_code'), self::equalTo('stores'))
326  ->willReturn($notationCode);
327 
328  self::assertEquals($notationCode, $this->config->getBuildNotationCode());
329  }
330 }
return false
Definition: gallery.phtml:36
$method
Definition: info.phtml:13
testGetValue($key, $method, $returnMap, $expectedValue)