customerSession = $this->createMock(\Magento\Customer\Model\Session::class); $this->registrationMock = $this->createMock(\Magento\Customer\Model\Registration::class); $this->redirectMock = $this->createMock(\Magento\Framework\App\Response\RedirectInterface::class); $this->response = $this->createMock(\Magento\Framework\App\ResponseInterface::class); $this->request = $this->getMockBuilder(\Magento\Framework\App\Request\Http::class) ->disableOriginalConstructor()->getMock(); $this->redirectResultMock = $this->createMock(\Magento\Framework\Controller\Result\Redirect::class); $this->redirectFactoryMock = $this->createPartialMock( \Magento\Framework\Controller\Result\RedirectFactory::class, ['create'] ); $this->resultPageMock = $this->createMock(\Magento\Framework\View\Result\Page::class); $this->pageFactoryMock = $this->createMock(\Magento\Framework\View\Result\PageFactory::class); $this->object = $objectManager->getObject( \Magento\Customer\Controller\Account\Create::class, [ 'request' => $this->request, 'response' => $this->response, 'customerSession' => $this->customerSession, 'registration' => $this->registrationMock, 'redirect' => $this->redirectMock, 'resultRedirectFactory' => $this->redirectFactoryMock, 'resultPageFactory' => $this->pageFactoryMock ] ); } /** * @return void */ public function testCreateActionRegistrationDisabled() { $this->customerSession->expects($this->once()) ->method('isLoggedIn') ->will($this->returnValue(false)); $this->registrationMock->expects($this->once()) ->method('isAllowed') ->will($this->returnValue(false)); $this->redirectFactoryMock->expects($this->once()) ->method('create') ->willReturn($this->redirectResultMock); $this->redirectResultMock->expects($this->once()) ->method('setPath') ->with('*/*') ->willReturnSelf(); $this->resultPageMock->expects($this->never()) ->method('getLayout'); $this->object->execute(); } /** * @return void */ public function testCreateActionRegistrationEnabled() { $this->customerSession->expects($this->once()) ->method('isLoggedIn') ->will($this->returnValue(false)); $this->registrationMock->expects($this->once()) ->method('isAllowed') ->will($this->returnValue(true)); $this->redirectMock->expects($this->never()) ->method('redirect'); $this->pageFactoryMock->expects($this->once()) ->method('create') ->willReturn($this->resultPageMock); $this->object->execute(); } }