/** * @return void */ public function testExecute() { $customerId = 7; $captchaValue = 'some-value'; $email = '*****@*****.**'; $redirectUrl = 'http://magento.com/customer/account/edit/'; $captcha = $this->getMock('Magento\\Captcha\\Model\\DefaultModel', [], [], '', false); $captcha->expects($this->once())->method('isRequired')->willReturn(true); $captcha->expects($this->once())->method('isCorrect')->with($captchaValue)->willReturn(false); $this->helperMock->expects($this->once())->method('getCaptcha')->with(\Magento\Captcha\Observer\CheckUserEditObserver::FORM_ID)->willReturn($captcha); $response = $this->getMock('Magento\\Framework\\App\\Response\\Http', [], [], '', false); $request = $this->getMock('Magento\\Framework\\App\\Request\\Http', [], [], '', false); $request->expects($this->any())->method('getPost')->with(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE, null)->willReturn([\Magento\Captcha\Observer\CheckUserEditObserver::FORM_ID => $captchaValue]); $controller = $this->getMock('Magento\\Framework\\App\\Action\\Action', [], [], '', false); $controller->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $controller->expects($this->any())->method('getResponse')->will($this->returnValue($response)); $this->captchaStringResolverMock->expects($this->once())->method('resolve')->with($request, \Magento\Captcha\Observer\CheckUserEditObserver::FORM_ID)->willReturn($captchaValue); $customerDataMock = $this->getMock('\\Magento\\Customer\\Model\\Data\\Customer', [], [], '', false); $this->customerSessionMock->expects($this->once())->method('getCustomerId')->willReturn($customerId); $this->customerSessionMock->expects($this->atLeastOnce())->method('getCustomer')->willReturn($customerDataMock); $this->authenticationMock->expects($this->once())->method('processAuthenticationFailure')->with($customerId); $this->authenticationMock->expects($this->once())->method('isLocked')->with($customerId)->willReturn(true); $this->customerSessionMock->expects($this->once())->method('logout'); $this->customerSessionMock->expects($this->once())->method('start'); $this->scopeConfigMock->expects($this->once())->method('getValue')->with('contact/email/recipient_email')->willReturn($email); $message = __('The account is locked. Please wait and try again or contact %1.', $email); $this->messageManagerMock->expects($this->exactly(2))->method('addError')->withConsecutive([$message], [__('Incorrect CAPTCHA')]); $this->actionFlagMock->expects($this->once())->method('set')->with('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true); $this->redirectMock->expects($this->once())->method('redirect')->with($response, '*/*/edit')->willReturn($redirectUrl); $this->observer->execute(new \Magento\Framework\Event\Observer(['controller_action' => $controller])); }
/** * Set up test * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function setUp() { $this->contextMock = $this->getMock('Magento\\Backend\\App\\Action\\Context', ['getAuthorization', 'getSession', 'getActionFlag', 'getAuth', 'getView', 'getHelper', 'getBackendUrl', 'getFormKeyValidator', 'getLocaleResolver', 'getCanUseBaseUrl', 'getRequest', 'getResponse', 'getObjectManager', 'getMessageManager'], [], '', false); $this->response = $this->getMock('Magento\\Framework\\App\\ResponseInterface', ['setRedirect', 'sendResponse'], [], '', false); $this->view = $this->getMock('\\Magento\\Framework\\App\\ViewInterface', ['loadLayout', 'getPage', 'getConfig', 'getTitle', 'renderLayout', 'loadLayoutUpdates', 'getDefaultLayoutHandle', 'addPageLayoutHandles', 'generateLayoutBlocks', 'generateLayoutXml', 'getLayout', 'addActionLayoutHandles', 'setIsLayoutLoaded', 'isLayoutLoaded'], [], '', false); $this->session = $this->getMock('\\Magento\\Backend\\Model\\Session', ['setIsUrlNotice'], [], '', false); $this->session->expects($this->any())->method('setIsUrlNotice')->willReturn($this->objectManager); $this->actionFlag = $this->getMock('\\Magento\\Framework\\App\\ActionFlag', ['get'], [], '', false); $this->actionFlag->expects($this->any())->method("get")->willReturn($this->objectManager); $this->objectManager = $this->getMock('Magento\\Framework\\TestFramework\\Unit\\Helper\\ObjectManager', ['get'], [], '', false); $this->request = $this->getMockForAbstractClass('\\Magento\\Framework\\App\\RequestInterface', ['getParam', 'getRequest'], '', false); $this->response->expects($this->any())->method("setRedirect")->willReturn(1); $this->page = $this->getMock('\\Magento\\Framework\\View\\Result\\Page', [], [], '', false); $this->config = $this->getMock('\\Magento\\Framework\\View\\Result\\Page', [], [], '', false); $this->title = $this->getMock('\\Magento\\Framework\\View\\Page\\Title', [], [], '', false); $this->messageManager = $this->getMockForAbstractClass('\\Magento\\Framework\\Message\\ManagerInterface', ['addError', 'addSuccess'], '', false); $this->indexReg = $this->getMock('Magento\\Framework\\Indexer\\IndexerRegistry', ['get', 'setScheduled'], [], '', false); $this->helper = $this->getMock('\\Magento\\Backend\\Helper\\Data', ['getUrl'], [], '', false); $this->contextMock->expects($this->any())->method("getObjectManager")->willReturn($this->objectManager); $this->contextMock->expects($this->any())->method("getRequest")->willReturn($this->request); $this->contextMock->expects($this->any())->method("getResponse")->willReturn($this->response); $this->contextMock->expects($this->any())->method("getMessageManager")->willReturn($this->messageManager); $this->contextMock->expects($this->any())->method("getSession")->willReturn($this->session); $this->contextMock->expects($this->any())->method("getActionFlag")->willReturn($this->actionFlag); $this->contextMock->expects($this->any())->method("getHelper")->willReturn($this->helper); }
/** * @return void */ public function testExecute() { $formId = 'user_login'; $login = '******'; $loginParams = ['username' => $login]; $customerId = 7; $redirectUrl = 'http://magento.com/customer/account/login/'; $captchaValue = 'some-value'; $captcha = $this->getMock('Magento\\Captcha\\Model\\DefaultModel', [], [], '', false); $captcha->expects($this->once())->method('isRequired')->with($login)->willReturn(true); $captcha->expects($this->once())->method('isCorrect')->with($captchaValue)->willReturn(false); $captcha->expects($this->once())->method('logAttempt')->with($login); $this->helperMock->expects($this->once())->method('getCaptcha')->with($formId)->willReturn($captcha); $response = $this->getMock('Magento\\Framework\\App\\Response\\Http', [], [], '', false); $response->expects($this->once())->method('setRedirect')->with($redirectUrl); $request = $this->getMock('Magento\\Framework\\App\\Request\\Http', [], [], '', false); $request->expects($this->any())->method('getPost')->with('login')->willReturn($loginParams); $controller = $this->getMock('Magento\\Framework\\App\\Action\\Action', [], [], '', false); $controller->expects($this->any())->method('getRequest')->will($this->returnValue($request)); $controller->expects($this->any())->method('getResponse')->will($this->returnValue($response)); $this->captchaStringResolverMock->expects($this->once())->method('resolve')->with($request, $formId)->willReturn($captchaValue); $customerDataMock = $this->getMock('\\Magento\\Customer\\Model\\Data\\Customer', ['getId'], [], '', false); $customerDataMock->expects($this->once())->method('getId')->willReturn($customerId); $this->customerRepositoryMock->expects($this->once())->method('get')->with($login)->willReturn($customerDataMock); $this->authenticationMock->expects($this->once())->method('processAuthenticationFailure')->with($customerId); $this->messageManagerMock->expects($this->once())->method('addError')->with(__('Incorrect CAPTCHA')); $this->actionFlagMock->expects($this->once())->method('set')->with('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true); $this->customerSessionMock->expects($this->once())->method('setUsername')->with($login); $this->customerSessionMock->expects($this->once())->method('getBeforeAuthUrl')->willReturn(false); $this->customerUrlMock->expects($this->once())->method('getLoginUrl')->willReturn($redirectUrl); $this->observer->execute(new \Magento\Framework\Event\Observer(['controller_action' => $controller])); }
public function testDispatchButtonNotEnabled() { $resultRedirect = new \Magento\Framework\DataObject(); $this->braintreePayPalConfigMock->expects($this->once())->method('isActive')->willReturn(true); $this->braintreePayPalConfigMock->expects($this->once())->method('isShortcutCheckoutEnabled')->willReturn(false); $this->actionFlagMock->expects($this->once())->method('set')->with('', \Magento\Framework\App\ActionInterface::FLAG_NO_DISPATCH); $this->resultRedirectFactoryMock->expects($this->once())->method('create')->willReturn($resultRedirect); $this->assertEquals($resultRedirect, $this->controller->execute($this->requestMock)); $this->assertEquals('noRoute', $resultRedirect->getPath()); }
/** * @return void */ public function testExecute() { $successMessage = 'All other open sessions for this account were terminated.'; $this->sessionsManager->expects($this->once())->method('logoutOtherUserSessions'); $this->messageManager->expects($this->once())->method('addSuccess')->with($successMessage); $this->messageManager->expects($this->never())->method('addError'); $this->messageManager->expects($this->never())->method('addException'); $this->responseMock->expects($this->once())->method('setRedirect'); $this->actionFlagMock->expects($this->once())->method('get')->with('', \Magento\Backend\App\AbstractAction::FLAG_IS_URLS_CHECKED); $this->backendHelperMock->expects($this->once())->method('getUrl'); $this->controller->execute(); }
public function testCheckContactUsFormRedirectsCustomerWithWarningMessageWhenCaptchaIsRequiredAndInvalid() { $formId = 'contact_us'; $captchaValue = 'some-value'; $warningMessage = 'Incorrect CAPTCHA.'; $redirectRoutePath = 'contact/index/index'; $redirectUrl = 'http://magento.com/contacts/'; $postData = ['name' => 'Some Name']; $request = $this->getMock('Magento\\Framework\\App\\Request\\Http', [], [], '', false); $response = $this->getMock('Magento\\Framework\\App\\Response\\Http', [], [], '', false); $request->expects($this->any())->method('getPost')->with(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE, null)->willReturn([$formId => $captchaValue]); $request->expects($this->once())->method('getPostValue')->willReturn($postData); $this->redirectMock->expects($this->once())->method('redirect')->with($response, $redirectRoutePath, [])->willReturn($redirectUrl); $controller = $this->getMock('Magento\\Framework\\App\\Action\\Action', [], [], '', false); $controller->expects($this->any())->method('getRequest')->willReturn($request); $controller->expects($this->any())->method('getResponse')->willReturn($response); $this->captchaMock->expects($this->any())->method('isRequired')->willReturn(true); $this->captchaMock->expects($this->once())->method('isCorrect')->with($captchaValue)->willReturn(false); $this->captchaStringResolverMock->expects($this->once())->method('resolve')->with($request, $formId)->willReturn($captchaValue); $this->helperMock->expects($this->any())->method('getCaptcha')->with($formId)->willReturn($this->captchaMock); $this->messageManagerMock->expects($this->once())->method('addError')->with($warningMessage); $this->actionFlagMock->expects($this->once())->method('set')->with('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true); $this->dataPersistorMock->expects($this->once())->method('set')->with($formId, $postData); $this->checkContactUsFormObserver->execute(new \Magento\Framework\Event\Observer(['controller_action' => $controller])); }
/** * Redirect into response section * * @return void */ protected function redirectSection() { $this->actionFlag->expects($this->once())->method('get')->with('', \Magento\Backend\App\AbstractAction::FLAG_IS_URLS_CHECKED)->will($this->returnValue(true)); $this->sessionMock->expects($this->once())->method('setIsUrlNotice')->with(true); $this->helperMock->expects($this->once())->method('getUrl')->will($this->returnValue('redirect-path')); $this->responseMock->expects($this->once())->method('setRedirect'); }
public function testDispatchPostDispatch() { $this->_requestMock->expects($this->exactly(3))->method('getFullActionName')->will($this->returnValue(self::FULL_ACTION_NAME)); $this->_requestMock->expects($this->exactly(2))->method('getRouteName')->will($this->returnValue(self::ROUTE_NAME)); $expectedEventParameters = ['controller_action' => $this->action, 'request' => $this->_requestMock]; $this->_eventManagerMock->expects($this->at(0))->method('dispatch')->with('controller_action_predispatch', $expectedEventParameters); $this->_eventManagerMock->expects($this->at(1))->method('dispatch')->with('controller_action_predispatch_' . self::ROUTE_NAME, $expectedEventParameters); $this->_eventManagerMock->expects($this->at(2))->method('dispatch')->with('controller_action_predispatch_' . self::FULL_ACTION_NAME, $expectedEventParameters); $this->_requestMock->expects($this->once())->method('isDispatched')->will($this->returnValue(true)); $this->_actionFlagMock->expects($this->at(0))->method('get')->with('', Action::FLAG_NO_DISPATCH)->will($this->returnValue(false)); // _forward expectations $this->_requestMock->expects($this->once())->method('initForward'); $this->_requestMock->expects($this->once())->method('setParams')->with(self::$actionParams); $this->_requestMock->expects($this->once())->method('setControllerName')->with(self::CONTROLLER_NAME); $this->_requestMock->expects($this->once())->method('setModuleName')->with(self::MODULE_NAME); $this->_requestMock->expects($this->once())->method('setActionName')->with(self::ACTION_NAME); $this->_requestMock->expects($this->once())->method('setDispatched')->with(false); // _redirect expectations $this->_redirectMock->expects($this->once())->method('redirect')->with($this->_responseMock, self::FULL_ACTION_NAME, self::$actionParams); $this->_actionFlagMock->expects($this->at(1))->method('get')->with('', Action::FLAG_NO_POST_DISPATCH)->will($this->returnValue(false)); $this->_eventManagerMock->expects($this->at(3))->method('dispatch')->with('controller_action_postdispatch_' . self::FULL_ACTION_NAME, $expectedEventParameters); $this->_eventManagerMock->expects($this->at(4))->method('dispatch')->with('controller_action_postdispatch_' . self::ROUTE_NAME, $expectedEventParameters); $this->_eventManagerMock->expects($this->at(5))->method('dispatch')->with('controller_action_postdispatch', $expectedEventParameters); $this->assertEquals($this->_responseMock, $this->action->dispatch($this->_requestMock)); }
public function testEmailNoOrderId() { $this->request->expects($this->once()) ->method('getParam') ->with('order_id') ->will($this->returnValue(null)); $this->orderRepositoryMock->expects($this->once()) ->method('get') ->with(null) ->willThrowException( new \Magento\Framework\Exception\NoSuchEntityException(__('Requested entity doesn\'t exist')) ); $this->messageManager->expects($this->once()) ->method('addError') ->with('This order no longer exists.'); $this->actionFlag->expects($this->once()) ->method('set') ->with('', 'no-dispatch', true) ->will($this->returnValue(true)); $this->resultRedirect->expects($this->once()) ->method('setPath') ->with('sales/*/') ->willReturnSelf(); $this->assertInstanceOf( 'Magento\Backend\Model\View\Result\Redirect', $this->orderEmail->executeInternal() ); }
/** * Run test execute method (fail print) */ public function testExecuteFail() { $this->shipmentLoaderMock->expects($this->once())->method('load')->will($this->returnValue(false)); $this->shipmentLoaderMock->expects($this->once())->method('load')->will($this->returnValue(false)); $this->actionFlag->expects($this->once())->method('get')->with('', \Magento\Backend\App\AbstractAction::FLAG_IS_URLS_CHECKED)->will($this->returnValue(true)); $this->sessionMock->expects($this->once())->method('setIsUrlNotice')->with(true); $this->assertNull($this->controller->execute()); }
/** * @param int $cmId */ protected function prepareRedirect($cmId) { $this->actionFlag->expects($this->once())->method('get')->with('', 'check_url_settings')->will($this->returnValue(true)); $this->session->expects($this->once())->method('setIsUrlNotice')->with(true); $path = 'sales/order_creditmemo/view'; $this->response->expects($this->once())->method('setRedirect')->with($path . '/' . $cmId); $this->helper->expects($this->atLeastOnce())->method('getUrl')->with($path, ['creditmemo_id' => $cmId])->will($this->returnValue($path . '/' . $cmId)); }
/** * @param string $path * @param array $arguments * @param int $index */ protected function prepareRedirect($path, $arguments, $index) { $this->actionFlag->expects($this->any())->method('get')->with('', 'check_url_settings')->will($this->returnValue(true)); $this->session->expects($this->any())->method('setIsUrlNotice')->with(true); $url = $path . '/' . (!empty($arguments) ? $arguments['shipment_id'] : ''); $this->helper->expects($this->at($index))->method('getUrl')->with($path, $arguments)->will($this->returnValue($url)); $this->response->expects($this->at($index))->method('setRedirect')->with($url); }
protected function initOrderFail() { $this->messageManagerMock->expects($this->once()) ->method('addError') ->with('This order no longer exists.') ->willReturnSelf(); $this->actionFlagMock->expects($this->once()) ->method('set') ->with('', \Magento\Sales\Controller\Adminhtml\Order::FLAG_NO_DISPATCH, true); }
public function testEmailNoOrderId() { $orderClassName = 'Magento\\Sales\\Model\\Order'; $order = $this->getMock($orderClassName, ['load', 'getId', '__wakeup'], [], '', false); $this->request->expects($this->once())->method('getParam')->with('order_id')->will($this->returnValue(null)); $this->objectManager->expects($this->at(0))->method('create')->with($orderClassName)->will($this->returnValue($order)); $order->expects($this->once())->method('load')->with(null)->will($this->returnSelf()); $this->messageManager->expects($this->once())->method('addError')->with('This order no longer exists.'); $this->actionFlag->expects($this->once())->method('set')->with('', 'no-dispatch', true)->will($this->returnValue(true)); $this->resultRedirect->expects($this->once())->method('setPath')->with('sales/*/')->willReturnSelf(); $this->assertInstanceOf('Magento\\Backend\\Model\\View\\Result\\Redirect', $this->orderEmail->execute()); }
/** * @param string $path * @param array $arguments * @param int $index */ protected function prepareRedirect($path, $arguments, $index) { $this->actionFlag->expects($this->any()) ->method('get') ->with('', 'check_url_settings') ->will($this->returnValue(true)); $this->session->expects($this->any()) ->method('setIsUrlNotice') ->with(true); $this->resultRedirect->expects($this->at($index)) ->method('setPath') ->with($path, ['shipment_id' => $arguments['shipment_id']]); }
/** * Run test execute method (no shipment) */ public function testExecuteNoShipment() { $orderId = 1; $shipmentId = 1; $shipment = []; $tracking = []; $this->requestMock->expects($this->at(0))->method('getParam')->with('order_id')->will($this->returnValue($orderId)); $this->requestMock->expects($this->at(1))->method('getParam')->with('shipment_id')->will($this->returnValue($shipmentId)); $this->requestMock->expects($this->at(2))->method('getParam')->with('shipment')->will($this->returnValue($shipment)); $this->requestMock->expects($this->at(3))->method('getParam')->with('tracking')->will($this->returnValue($tracking)); $this->shipmentLoaderMock->expects($this->once())->method('setOrderId')->with($orderId); $this->shipmentLoaderMock->expects($this->once())->method('setShipmentId')->with($shipmentId); $this->shipmentLoaderMock->expects($this->once())->method('setShipment')->with($shipment); $this->shipmentLoaderMock->expects($this->once())->method('setTracking')->with($tracking); $this->shipmentLoaderMock->expects($this->once())->method('load')->will($this->returnValue(false)); $this->actionFlag->expects($this->once())->method('get')->with('', \Magento\Backend\App\AbstractAction::FLAG_IS_URLS_CHECKED)->will($this->returnValue(true)); $this->sessionMock->expects($this->once())->method('setIsUrlNotice')->with(true); $this->assertNull($this->controller->execute()); }