public function testGetCustomerSessionTokens()
 {
     $customerId = 1;
     $token = $this->getMock(PaymentTokenInterface::class);
     $expectation = [$token];
     $this->customerSession->expects(static::once())->method('getCustomerId')->willReturn($customerId);
     $this->paymentTokenManagement->expects(static::once())->method('getVisibleAvailableTokens')->with($customerId)->willReturn($expectation);
     static::assertEquals($expectation, $this->tokenManagement->getCustomerSessionTokens());
 }
 public function testGetCustomerSessionTokens()
 {
     $customerId = 1;
     $providerCode = 'vault_provider';
     $storeId = 1;
     $token = $this->getMock(PaymentTokenInterface::class);
     $expectation = [$token];
     $this->customerSessionMock->expects(self::once())->method('getCustomerId')->willReturn($customerId);
     $this->storeManager->expects(static::once())->method('getStore')->with(null)->willReturn($this->store);
     $this->store->expects(static::once())->method('getId')->willReturn($storeId);
     $this->vaultPayment->expects(static::once())->method('isActive')->with($storeId)->willReturn(true);
     $this->vaultPayment->expects(static::once())->method('getProviderCode')->with($storeId)->willReturn($providerCode);
     $this->paymentTokenManagementMock->expects(static::once())->method('getVisibleAvailableTokens')->with($customerId, $providerCode)->willReturn($expectation);
     static::assertEquals($expectation, $this->tokenManagement->getCustomerSessionTokens());
 }
 /**
  * Retrieve assoc array of checkout configuration
  *
  * @return array
  */
 public function getConfig()
 {
     $vaultPayments = [];
     $storeId = $this->storeManager->getStore()->getId();
     if (!$this->vaultPayment->isActive($storeId)) {
         return $vaultPayments;
     }
     $providerCode = $this->vaultPayment->getProviderCode($storeId);
     $componentProvider = $this->getComponentProvider($providerCode);
     if (null === $componentProvider) {
         return $vaultPayments;
     }
     foreach ($this->customerTokenManagement->getCustomerSessionTokens() as $i => $token) {
         $component = $componentProvider->getComponentForToken($token);
         $vaultPayments[VaultPaymentInterface::CODE . '_item_' . $i] = ['config' => $component->getConfig(), 'component' => $component->getName()];
     }
     return ['payment' => [VaultPaymentInterface::CODE => $vaultPayments]];
 }
 /**
  * Retrieve assoc array of checkout configuration
  *
  * @return array
  */
 public function getConfig()
 {
     $vaultPayments = [];
     $providers = $this->getComponentProviders();
     if (empty($providers)) {
         return $vaultPayments;
     }
     $tokens = $this->customerTokenManagement->getCustomerSessionTokens();
     foreach ($tokens as $i => $token) {
         $paymentCode = $token->getPaymentMethodCode();
         if (!isset($providers[$paymentCode])) {
             continue;
         }
         $componentProvider = $providers[$paymentCode];
         $component = $componentProvider->getComponentForToken($token);
         $vaultPayments[$paymentCode . '_item_' . $i] = ['config' => $component->getConfig(), 'component' => $component->getName()];
     }
     return ['payment' => [self::$vaultCode => $vaultPayments]];
 }
 /**
  * @return PaymentTokenInterface[]
  */
 public function getPaymentTokens()
 {
     return $this->customerTokenManagement->getCustomerSessionTokens();
 }