Skip to content

Commit 36b33cd

Browse files
committed
Merge remote-tracking branch 'KrishnaK-Z/LoginAsCustomerGraphQL' into LoginAsCustomerGraphQL
2 parents 6b89e9e + 95e1ecc commit 36b33cd

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

app/code/Magento/LoginAsCustomerGraphQl/Model/Resolver/RequestCustomerToken.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public function resolve(
7676
array $args = null
7777
) {
7878
$isAllowedLogin = $this->authorization->isAllowed('Magento_LoginAsCustomer::login');
79+
$isAlllowedShoppingAssistance = $this->authorization->isAllowed('Magento_LoginAsCustomer::allow_shopping_assistance');
7980
$isEnabled = $this->config->isEnabled();
8081

8182
/* Get input params */
@@ -96,6 +97,13 @@ public function resolve(
9697
__('Login as Customer is disabled.')
9798
);
9899
}
100+
101+
if (!$isAlllowedShoppingAssistance) {
102+
throw new GraphQlAuthorizationException(
103+
__('Allow remote shopping assistance is disabled.')
104+
);
105+
}
106+
99107
return $this->createCustomerToken->execute(
100108
$args['customer_email'],
101109
$context->getExtensionAttributes()->getStore()

dev/tests/api-functional/testsuite/Magento/GraphQl/LoginAsCustomer/GenerateLoginCustomerTokenTest.php renamed to dev/tests/api-functional/testsuite/Magento/GraphQl/LoginAsCustomerGraphQl/GenerateLoginCustomerTokenTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ protected function setUp(): void
4343
*
4444
* @magentoApiDataFixture Magento/LoginAsCustomer/_files/admin.php
4545
* @magentoConfigFixture admin_store login_as_customer/general/enabled 1
46-
* @magentoApiDataFixture Magento/Customer/_files/customer.php
46+
* @magentoApiDataFixture Magento/LoginAsCustomer/_files/customer.php
4747
* @throws Exception
4848
*/
4949
public function testGenerateCustomerValidTokenLoginAsCustomerEnabled()
@@ -67,7 +67,7 @@ public function testGenerateCustomerValidTokenLoginAsCustomerEnabled()
6767
*
6868
* @magentoApiDataFixture Magento/LoginAsCustomer/_files/admin.php
6969
* @magentoConfigFixture admin_store login_as_customer/general/enabled 0
70-
* @magentoApiDataFixture Magento/Customer/_files/customer.php
70+
* @magentoApiDataFixture Magento/LoginAsCustomer/_files/customer.php
7171
* @throws Exception
7272
*/
7373
public function testGenerateCustomerValidTokenLoginAsCustomerDisabled()
@@ -89,7 +89,7 @@ public function testGenerateCustomerValidTokenLoginAsCustomerDisabled()
8989
/**
9090
* Verify with Customer Token in auth header
9191
*
92-
* @magentoApiDataFixture Magento/Customer/_files/customer.php
92+
* @magentoApiDataFixture Magento/LoginAsCustomer/_files/customer.php
9393
* @magentoConfigFixture admin_store login_as_customer/general/enabled 1
9494
* @throws Exception
9595
*/
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
declare(strict_types=1);
8+
9+
use Magento\Customer\Model\CustomerRegistry;
10+
use Magento\Customer\Api\Data\CustomerExtensionFactory;
11+
12+
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
13+
/** @var $repository \Magento\Customer\Api\CustomerRepositoryInterface */
14+
$repository = $objectManager->create(\Magento\Customer\Api\CustomerRepositoryInterface::class);
15+
$customer = $objectManager->create(\Magento\Customer\Model\Customer::class);
16+
17+
/** @var CustomerRegistry $customerRegistry */
18+
$customerRegistry = $objectManager->get(CustomerRegistry::class);
19+
/** @var Magento\Customer\Model\Customer $customer */
20+
$customer->setWebsiteId(1)
21+
->setId(1)
22+
->setEmail('[email protected]')
23+
->setPassword('password')
24+
->setGroupId(1)
25+
->setStoreId(1)
26+
->setIsActive(1)
27+
->setPrefix('Mr.')
28+
->setFirstname('John')
29+
->setMiddlename('A')
30+
->setLastname('Smith')
31+
->setSuffix('Esq.')
32+
->setDefaultBilling(1)
33+
->setDefaultShipping(1)
34+
->setTaxvat('12')
35+
->setGender(0);
36+
37+
$extension = $customer->getExtensionAttributes();
38+
if ($extension === null) {
39+
$extension = $objectManager->get(CustomerExtensionFactory::class)->create();
40+
}
41+
42+
$extension->setAssistanceAllowed(2);
43+
$customer->setExtensionAttributes($extension);
44+
45+
$customer->isObjectNew(true);
46+
$customer->save();
47+
48+
$customerRegistry->remove($customer->getId());

0 commit comments

Comments
 (0)