33 $proxiedObject = $this->createPartialMock(
'stdClass', [$callProxiedMethod]);
36 $callProxy =
function () use ($proxiedObject, $callProxiedMethod, $passProxiedParams) {
37 return call_user_func_array([$proxiedObject, $callProxiedMethod], $passProxiedParams);
40 $object = $this->createPartialMock(
'stdClass', [
$method]);
41 $builder = $object->expects($this->once())->method(
$method);
42 call_user_func_array([$builder,
'with'],
$params);
43 $builder->will($this->returnCallback($callProxy));
46 $helper = new \Magento\Framework\TestFramework\Unit\Helper\ProxyTesting();
56 $this->assertSame($expectedResult,
$result);
65 'all parameters passed' => [
66 'method' =>
'returnAplusB',
69 'proxiedMethod' =>
'returnAplusB',
70 'proxiedParams' => [3, 4],
71 'callProxiedMethod' =>
'returnAplusB',
72 'passProxiedParams' => [3, 4],
73 'expectedResult' => 7,
75 'proxied method and params are to be set from proxy method and params' => [
76 'method' =>
'returnAplusB',
79 'proxiedMethod' =>
null,
80 'proxiedParams' =>
null,
81 'callProxiedMethod' =>
'returnAplusB',
82 'passProxiedParams' => [3, 4],
83 'expectedResult' => 7,
85 'proxy and proxied method and params differ' => [
86 'method' =>
'returnAminusBminusC',
87 'params' => [10, 1, 2],
89 'proxiedMethod' =>
'returnAminusB',
90 'proxiedParams' => [10, 3],
91 'callProxiedMethod' =>
'returnAminusB',
92 'passProxiedParams' => [10, 3],
93 'expectedResult' => 7,
testInvokeWithExpectations( $method, $params, $proxiedResult, $proxiedMethod, $proxiedParams, $callProxiedMethod, $passProxiedParams, $expectedResult)
static invokeWithExpectationsDataProvider()
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]