/** * Run test for proxy methods */ public function testProxyCall() { /** @var SearchCriteria|\PHPUnit_Framework_MockObject_MockObject $searchCriteriaMock */ $searchCriteriaMock = $this->getMockBuilder(SearchCriteria::class)->getMockForAbstractClass(); /** @var PaymentTokenSearchResultsInterface|\PHPUnit_Framework_MockObject_MockObject $searchResultMock */ $searchResultMock = $this->getMockBuilder(PaymentTokenSearchResultsInterface::class)->getMockForAbstractClass(); /** @var PaymentTokenInterface|\PHPUnit_Framework_MockObject_MockObject $tokenMock */ $tokenMock = $this->getMockBuilder(PaymentTokenInterface::class)->getMockForAbstractClass(); /** @var PaymentTokenRepositoryInterface|\PHPUnit_Framework_MockObject_MockObject $proxyCallsMock */ $proxyCallsMock = $this->getMockBuilder(PaymentTokenRepositoryInterface::class)->getMockForAbstractClass(); $this->configMock->expects(self::once())->method('getValue')->with(VaultProvidersMap::VALUE_CODE)->willReturn('code'); $this->objectManagerMock->expects(self::once())->method('get')->with(get_class($proxyCallsMock))->willReturn($proxyCallsMock); $proxy = new PaymentTokenRepositoryProxy($this->defaultRepository, $this->configMock, $this->objectManagerMock, ['code' => get_class($proxyCallsMock)]); $proxyCallsMock->expects(self::once())->method('delete')->with($tokenMock)->willReturn(self::DELETE_RESULT); $proxyCallsMock->expects(self::once())->method('getById')->with(1)->willReturn($tokenMock); $proxyCallsMock->expects(self::once())->method('getList')->with($searchCriteriaMock)->willReturn($searchResultMock); $proxyCallsMock->expects(self::once())->method('save')->with($tokenMock)->willReturn(self::SAVE_RESULT); self::assertEquals(self::DELETE_RESULT, $proxy->delete($tokenMock)); self::assertEquals($tokenMock, $proxy->getById(1)); self::assertEquals($searchResultMock, $proxy->getList($searchCriteriaMock)); self::assertEquals(self::SAVE_RESULT, $proxy->save($tokenMock)); }
/** * @expectedException \LogicException * @expectedExceptionMessageRegExp You must implement this operation\. \([^:]+::save\) */ public function testNullRepositoryExceptionSave() { /** @var PaymentTokenFactory|\PHPUnit_Framework_MockObject_MockObject $tokenFactoryMock */ $tokenFactoryMock = $this->getMockBuilder(PaymentTokenFactory::class)->disableOriginalConstructor()->getMockForAbstractClass(); /** @var PaymentTokenSearchResultsInterfaceFactory * |\PHPUnit_Framework_MockObject_MockObject $searchResultFactoryMock */ $searchResultFactoryMock = $this->getMockBuilder(PaymentTokenSearchResultsInterfaceFactory::class)->disableOriginalConstructor()->getMockForAbstractClass(); /** @var PaymentTokenInterface|\PHPUnit_Framework_MockObject_MockObject $tokenMock */ $tokenMock = $this->getMockBuilder(PaymentTokenInterface::class)->getMockForAbstractClass(); $proxy = new PaymentTokenRepositoryProxy(new \Magento\Vault\Model\PaymentTokenNullRepository($tokenFactoryMock, $searchResultFactoryMock), $this->vaultPaymentMock, $this->configMock, $this->objectManagerMock, []); $proxy->save($tokenMock); }