60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
namespace Magento\GraphQl\Customer;
 | 
						|
 | 
						|
use Magento\Integration\Api\CustomerTokenServiceInterface;
 | 
						|
use Magento\TestFramework\ObjectManager;
 | 
						|
use Magento\TestFramework\TestCase\GraphQlAbstract;
 | 
						|
 | 
						|
/**
 | 
						|
 * Test for revoke customer token mutation
 | 
						|
 */
 | 
						|
class RevokeCustomerTokenTest extends GraphQlAbstract
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @magentoApiDataFixture Magento/Customer/_files/customer.php
 | 
						|
     */
 | 
						|
    public function testRevokeCustomerTokenValidCredentials()
 | 
						|
    {
 | 
						|
        $query = <<<QUERY
 | 
						|
            mutation {
 | 
						|
                revokeCustomerToken {
 | 
						|
                    result
 | 
						|
                }
 | 
						|
            }
 | 
						|
QUERY;
 | 
						|
 | 
						|
        $userName = 'customer@example.com';
 | 
						|
        $password = 'password';
 | 
						|
        /** @var CustomerTokenServiceInterface $customerTokenService */
 | 
						|
        $customerTokenService = ObjectManager::getInstance()->get(CustomerTokenServiceInterface::class);
 | 
						|
        $customerToken = $customerTokenService->createCustomerAccessToken($userName, $password);
 | 
						|
 | 
						|
        $headerMap = ['Authorization' => 'Bearer ' . $customerToken];
 | 
						|
        $response = $this->graphQlMutation($query, [], '', $headerMap);
 | 
						|
        $this->assertTrue($response['revokeCustomerToken']['result']);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     */
 | 
						|
    public function testRevokeCustomerTokenForGuestCustomer()
 | 
						|
    {
 | 
						|
        $this->expectException(\Exception::class);
 | 
						|
        $this->expectExceptionMessage('The current customer isn\'t authorized.');
 | 
						|
 | 
						|
        $query = <<<QUERY
 | 
						|
            mutation {
 | 
						|
                revokeCustomerToken {
 | 
						|
                    result
 | 
						|
                }
 | 
						|
            }
 | 
						|
QUERY;
 | 
						|
        $this->graphQlMutation($query, [], '');
 | 
						|
    }
 | 
						|
}
 |