9 use \Magento\Authorization\Model\UserContextInterface;
25 public function testOverrideParams(
$requestData, $parameters, $expectedOverriddenParams, $userId, $userType)
27 $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
29 $userContextMock = $this->getMockBuilder(\
Magento\Authorization\Model\UserContextInterface::class)
30 ->disableOriginalConstructor()->setMethods([
'getUserId',
'getUserType'])->getMockForAbstractClass();
31 $userContextMock->expects($this->any())->method(
'getUserId')->will($this->returnValue($userId));
32 $userContextMock->expects($this->any())->method(
'getUserType')->will($this->returnValue($userType));
35 \
Magento\Webapi\Controller\Rest\ParamOverriderCustomerId::class,
36 [
'userContext' => $userContextMock]
41 \
Magento\Webapi\Controller\Rest\ParamsOverrider::class,
42 [
'paramOverriders' => [
'%customer_id%' => $paramOverriderCustomerId ]]
45 $this->assertEquals($expectedOverriddenParams, $paramsOverrider->override(
$requestData, $parameters));
54 'force false, value present' => [
55 [
'Name1' =>
'valueIn'],
56 [
'Name1' => [
'force' =>
false,
'value' =>
'valueOverride']],
57 [
'Name1' =>
'valueIn'],
61 'force true, value present' => [
62 [
'Name1' =>
'valueIn'],
63 [
'Name1' => [
'force' =>
true,
'value' =>
'valueOverride']],
64 [
'Name1' =>
'valueOverride'],
68 'force true, value not present' => [
69 [
'Name1' =>
'valueIn'],
70 [
'Name2' => [
'force' =>
true,
'value' =>
'valueOverride']],
71 [
'Name1' =>
'valueIn',
'Name2' =>
'valueOverride'],
75 'force false, value not present' => [
76 [
'Name1' =>
'valueIn'],
77 [
'Name2' => [
'force' =>
false,
'value' =>
'valueOverride']],
78 [
'Name1' =>
'valueIn',
'Name2' =>
'valueOverride'],
82 'force true, value present, override value is %customer_id%' => [
83 [
'Name1' =>
'valueIn'],
84 [
'Name1' => [
'force' =>
true,
'value' =>
'%customer_id%']],
89 'force true, value present, override value is %customer_id%, not a customer' => [
90 [
'Name1' =>
'valueIn'],
91 [
'Name1' => [
'force' =>
true,
'value' =>
'%customer_id%']],
overrideParamsDataProvider()
const USER_TYPE_INTEGRATION