Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AccountTokensTest.php
Go to the documentation of this file.
1 <?php
7 
15 use PHPUnit_Framework_MockObject_MockObject as MockObject;
16 
20 class AccountTokensTest extends \PHPUnit\Framework\TestCase
21 {
25  private $tokenManagement;
26 
30  private $block;
31 
35  private $objectManager;
36 
37  protected function setUp()
38  {
39  $this->objectManager = new ObjectManager($this);
40 
41  $this->tokenManagement = $this->getMockBuilder(CustomerTokenManagement::class)
42  ->disableOriginalConstructor()
43  ->setMethods(['getCustomerSessionTokens'])
44  ->getMock();
45 
46  $this->block = $this->objectManager->getObject(AccountTokens::class, [
47  'customerTokenManagement' => $this->tokenManagement
48  ]);
49  }
50 
54  public function testGetPaymentTokens()
55  {
56  $cardToken = $this->objectManager->getObject(PaymentToken::class, [
58  ]);
59  $token = $this->objectManager->getObject(PaymentToken::class, [
61  ]);
62  $this->tokenManagement->expects(static::once())
63  ->method('getCustomerSessionTokens')
64  ->willReturn([$cardToken, $token]);
65 
66  $actual = $this->block->getPaymentTokens();
67  static::assertCount(1, $actual);
68 
70  $actualToken = array_pop($actual);
71  static::assertEquals(AccountPaymentTokenFactory::TOKEN_TYPE_ACCOUNT, $actualToken->getType());
72  }
73 }