/** * @covers \Magento\Vault\Model\Ui\Adminhtml\TokensConfigProvider::getTokensComponents */ public function testGetTokensComponents() { $storeId = 1; $customerId = 2; $vaultPaymentCode = 'vault_payment'; $vaultProviderCode = 'payment'; $this->initStoreMock(); $this->session->expects(static::once())->method('getCustomerId')->willReturn($customerId); $this->paymentDataHelper->expects(static::once())->method('getMethodInstance')->with($vaultPaymentCode)->willReturn($this->vaultPayment); $this->vaultPayment->expects(static::once())->method('isActive')->with($storeId)->willReturn(true); $this->vaultPayment->expects(static::once())->method('getProviderCode')->willReturn($vaultProviderCode); /** @var PaymentTokenInterface|MockObject $token */ $token = $this->getMockBuilder(PaymentTokenInterface::class)->getMockForAbstractClass(); list($tokenUiComponent, $tokenUiComponentProvider) = $this->getTokenUiComponentProvider($token); $searchCriteria = $this->getSearchCriteria($customerId, $vaultProviderCode); $date = $this->getMockBuilder('DateTime')->disableOriginalConstructor()->getMock(); $this->dateTimeFactory->expects(static::once())->method('create')->with("now", new \DateTimeZone('UTC'))->willReturn($date); $date->expects(static::once())->method('format')->with('Y-m-d 00:00:00')->willReturn('2015-01-01 00:00:00'); $searchResult = $this->getMockBuilder(PaymentTokenSearchResultsInterface::class)->getMockForAbstractClass(); $this->paymentTokenRepository->expects(self::once())->method('getList')->with($searchCriteria)->willReturn($searchResult); $searchResult->expects(self::once())->method('getItems')->willReturn([$token]); $configProvider = new TokensConfigProvider($this->session, $this->paymentTokenRepository, $this->filterBuilder, $this->searchCriteriaBuilder, $this->storeManager, $this->dateTimeFactory, [$vaultProviderCode => $tokenUiComponentProvider]); $this->objectManager->setBackwardCompatibleProperty($configProvider, 'paymentDataHelper', $this->paymentDataHelper); static::assertEquals([$tokenUiComponent], $configProvider->getTokensComponents($vaultPaymentCode)); }
public function testGetVisibleAvailableTokens() { $customerId = 1; $searchCriteria = $this->getMockBuilder(SearchCriteria::class)->disableOriginalConstructor()->getMock(); $searchResult = $this->getMockForAbstractClass(PaymentTokenSearchResultsInterface::class); $token = $this->getMockForAbstractClass(PaymentTokenInterface::class); $customerFilter = $this->createExpectedFilter(PaymentTokenInterface::CUSTOMER_ID, $customerId, 0); $visibilityFilter = $this->createExpectedFilter(PaymentTokenInterface::IS_VISIBLE, true, 1); $isActiveFilter = $this->createExpectedFilter(PaymentTokenInterface::IS_ACTIVE, true, 2); // express at expectations $expiresAtFilter = $this->createExpectedFilter(PaymentTokenInterface::EXPIRES_AT, '2015-01-01 00:00:00', 3); $this->filterBuilder->expects(static::once())->method('setConditionType')->with('gt')->willReturnSelf(); $date = $this->getMockBuilder('DateTime')->disableOriginalConstructor()->getMock(); $this->dateTimeFactory->expects(static::once())->method('create')->with("now", new \DateTimeZone('UTC'))->willReturn($date); $date->expects(static::once())->method('format')->with('Y-m-d 00:00:00')->willReturn('2015-01-01 00:00:00'); $this->searchCriteriaBuilder->expects(self::once())->method('addFilters')->with([$customerFilter, $visibilityFilter, $isActiveFilter, $expiresAtFilter])->willReturnSelf(); $this->searchCriteriaBuilder->expects(self::once())->method('create')->willReturn($searchCriteria); $this->paymentTokenRepository->expects(self::once())->method('getList')->with($searchCriteria)->willReturn($searchResult); $searchResult->expects(self::once())->method('getItems')->willReturn([$token]); static::assertEquals([$token], $this->paymentTokenManagement->getVisibleAvailableTokens($customerId)); }