Пример #1
0
 public function setUp()
 {
     if (!function_exists('libxml_set_external_entity_loader')) {
         $this->markTestSkipped('Skipped on HHVM. Will be fixed in MAGETWO-45033');
     }
     $this->customer = $this->getMockForAbstractClass('Magento\\Customer\\Api\\Data\\CustomerInterface', [], '', false, true, true);
     $this->customer->expects($this->once())->method('getWebsiteId')->willReturn(2);
     $this->customerDataFactory = $this->getMock('Magento\\Customer\\Api\\Data\\CustomerInterfaceFactory', ['create'], [], '', false);
     $this->customerDataFactory->expects($this->once())->method('create')->willReturn($this->customer);
     $this->form = $this->getMock('Magento\\Customer\\Model\\Metadata\\Form', [], [], '', false);
     $this->request = $this->getMockForAbstractClass('Magento\\Framework\\App\\RequestInterface', [], '', false, true, true, ['getPost']);
     $this->response = $this->getMockForAbstractClass('Magento\\Framework\\App\\ResponseInterface', [], '', false);
     $this->formFactory = $this->getMock('Magento\\Customer\\Model\\Metadata\\FormFactory', ['create'], [], '', false);
     $this->formFactory->expects($this->atLeastOnce())->method('create')->willReturn($this->form);
     $this->extensibleDataObjectConverter = $this->getMock('Magento\\Framework\\Api\\ExtensibleDataObjectConverter', [], [], '', false);
     $this->dataObjectHelper = $this->getMock('Magento\\Framework\\Api\\DataObjectHelper', [], [], '', false);
     $this->dataObjectHelper->expects($this->once())->method('populateWithArray');
     $this->customerAccountManagement = $this->getMockForAbstractClass('Magento\\Customer\\Api\\AccountManagementInterface', [], '', false, true, true);
     $this->resultJson = $this->getMock('Magento\\Framework\\Controller\\Result\\Json', [], [], '', false);
     $this->resultJson->expects($this->once())->method('setData');
     $this->resultJsonFactory = $this->getMock('Magento\\Framework\\Controller\\Result\\JsonFactory', ['create'], [], '', false);
     $this->resultJsonFactory->expects($this->once())->method('create')->willReturn($this->resultJson);
     $objectHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
     $this->controller = $objectHelper->getObject('Magento\\Customer\\Controller\\Adminhtml\\Index\\Validate', ['request' => $this->request, 'response' => $this->response, 'customerDataFactory' => $this->customerDataFactory, 'formFactory' => $this->formFactory, 'extensibleDataObjectConverter' => $this->extensibleDataObjectConverter, 'customerAccountManagement' => $this->customerAccountManagement, 'resultJsonFactory' => $this->resultJsonFactory, 'dataObjectHelper' => $this->dataObjectHelper]);
 }
Пример #2
0
 public function testExecuteWithoutData()
 {
     $this->request->expects($this->at(0))->method('getParam')->with('isAjax')->willReturn(true);
     $this->request->expects($this->at(1))->method('getParam')->with('items', [])->willReturn([]);
     $this->jsonFactory->expects($this->once())->method('create')->willReturn($this->resultJson);
     $this->resultJson->expects($this->once())->method('setData')->with(['messages' => ['Please correct the data sent.'], 'error' => true])->willReturnSelf();
     $this->controller->execute();
 }
Пример #3
0
 public function testExecute()
 {
     $searchString = "simple";
     $firstItemMock = $this->getMockBuilder('Magento\\Search\\Model\\Autocomplete\\Item')->disableOriginalConstructor()->setMockClassName('FirstItem')->setMethods(['toArray'])->getMock();
     $secondItemMock = $this->getMockBuilder('Magento\\Search\\Model\\Autocomplete\\Item')->disableOriginalConstructor()->setMockClassName('SecondItem')->setMethods(['toArray'])->getMock();
     $this->request->expects($this->once())->method('getParam')->with('q')->will($this->returnValue($searchString));
     $this->autocomplete->expects($this->once())->method('getItems')->will($this->returnValue([$firstItemMock, $secondItemMock]));
     $this->resultJsonMock->expects($this->once())->method('setData')->willReturnSelf();
     $this->assertSame($this->resultJsonMock, $this->controller->execute());
 }
Пример #4
0
 /**
  * Executes the controller action and asserts non exception logic
  */
 public function testExecuteLocalizedException()
 {
     $phrase = new \Magento\Framework\Phrase('some error');
     $objectManager = new ObjectManager($this);
     $this->vault->expects($this->once())->method('processNonce')->willThrowException(new LocalizedException($phrase));
     $this->resultJson->expects($this->once())->method('setData')->with(['success' => false, 'error_message' => 'some error']);
     $this->resultFactory->expects($this->once())->method('create')->willReturn($this->resultJson);
     $this->messageManager->expects($this->once())->method('addError')->with($phrase);
     $notification = $objectManager->getObject('Magento\\Braintree\\Controller\\Creditcard\\AjaxSave', ['request' => $this->request, 'resultFactory' => $this->resultFactory, 'vault' => $this->vault, 'messageManager' => $this->messageManager]);
     $this->assertSame($this->resultJson, $notification->execute());
 }
Пример #5
0
 public function testExecuteNullProduct()
 {
     $this->productMock->expects($this->once())->method('load')->with(59)->willReturn($this->productMock);
     $this->productModelFactoryMock->expects($this->once())->method('create')->willReturn($this->productMock);
     $this->swatchHelperMock->expects($this->once())->method('getAttributesFromConfigurable')->with($this->productMock)->willReturn([$this->attributeMock]);
     $this->swatchHelperMock->expects($this->once())->method('loadVariationByFallback')->with($this->productMock, ['size' => 454])->willReturn(null);
     $this->swatchHelperMock->expects($this->once())->method('getProductMediaGallery')->with($this->productMock)->willReturn($this->mediaGallery);
     $this->jsonMock->expects($this->once())->method('setData')->with($this->mediaGallery)->will($this->returnSelf());
     $result = $this->controller->execute();
     $this->assertInstanceOf('\\Magento\\Framework\\Controller\\Result\\Json', $result);
 }
Пример #6
0
 /**
  * Executes the controller action and asserts non exception logic
  */
 public function testExecuteInternalLocalizedException()
 {
     $phrase = new \Magento\Framework\Phrase('Something went wrong while processing.');
     $objectManager = new ObjectManager($this);
     $this->vault->expects($this->once())->method('generatePaymentMethodToken')->willThrowException(new LocalizedException($phrase));
     $this->resultJson->expects($this->once())->method('setData')->with(['success' => false, 'error_message' => 'Something went wrong while processing.']);
     $this->resultFactory->expects($this->once())->method('create')->willReturn($this->resultJson);
     $this->messageManager->expects($this->once())->method('addError')->with($phrase);
     $this->request->expects($this->any())->method('getParam')->willReturn(true);
     /** @var \Magento\Braintree\Controller\Creditcard\Generate $controller */
     $controller = $objectManager->getObject('Magento\\Braintree\\Controller\\Creditcard\\Generate', ['request' => $this->request, 'resultFactory' => $this->resultFactory, 'vault' => $this->vault, 'messageManager' => $this->messageManager]);
     $this->assertSame($this->resultJson, $controller->executeInternal());
 }
Пример #7
0
 public function testExecute()
 {
     $this->requestMock->expects($this->any())->method('getParam')->willReturnMap([['frontend_label', null, 'test_frontend_label'], ['attribute_code', null, 'test_attribute_code'], ['new_attribute_set_name', null, 'test_attribute_set_name']]);
     $this->objectManagerMock->expects($this->exactly(2))->method('create')->willReturnMap([['Magento\\Catalog\\Model\\ResourceModel\\Eav\\Attribute', [], $this->attributeMock], ['Magento\\Eav\\Model\\Entity\\Attribute\\Set', [], $this->attributeSetMock]]);
     $this->attributeMock->expects($this->once())->method('loadByCode')->willReturnSelf();
     $this->requestMock->expects($this->once())->method('has')->with('new_attribute_set_name')->willReturn(true);
     $this->attributeSetMock->expects($this->once())->method('setEntityTypeId')->willReturnSelf();
     $this->attributeSetMock->expects($this->once())->method('load')->willReturnSelf();
     $this->attributeSetMock->expects($this->once())->method('getId')->willReturn(false);
     $this->resultJsonFactoryMock->expects($this->once())->method('create')->willReturn($this->resultJson);
     $this->resultJson->expects($this->once())->method('setJsonData')->willReturnSelf();
     $this->assertInstanceOf(ResultJson::class, $this->getModel()->execute());
 }
Пример #8
0
 /**
  * @return Json
  */
 public function execute()
 {
     $response = ['success' => false];
     $storeId = $this->_request->getParam('store');
     /** @var Store $store */
     $store = $this->_storeManager->getStore($storeId);
     if (!is_null($store)) {
         $metaData = $this->_oauthMetaBuilder->build($store);
         $client = new \NostoOAuthClient($metaData);
         $response['success'] = true;
         $response['redirect_url'] = $client->getAuthorizationUrl();
     }
     return $this->_result->setData($response);
 }
Пример #9
0
 public function testUpdate()
 {
     $statusInfo = 'some status info';
     $data = ['status' => 'success', 'message' => __('Database(s) successfully updated.'), 'status_info' => $statusInfo];
     $this->resultJson->expects($this->once())->method('setData')->with($data)->willReturnSelf();
     $this->updaterSelected->expects($this->once())->method('update')->willReturnSelf();
     $statusBlock = $this->getMockBuilder('Tobai\\GeoIp2\\Block\\Adminhtml\\System\\Config\\Status')->disableOriginalConstructor()->getMock();
     $layout = $this->getMock('Magento\\Framework\\View\\LayoutInterface');
     $this->layoutFactory->expects($this->once())->method('create')->willReturn($layout);
     $layout->expects($this->once())->method('createBlock')->with('Tobai\\GeoIp2\\Block\\Adminhtml\\System\\Config\\Status')->willReturn($statusBlock);
     $statusBlock->expects($this->once())->method('getDbStatus')->willReturn($statusInfo);
     $this->logger->expects($this->never())->method('critical');
     $this->assertSame($this->resultJson, $this->controllerUpdate->execute());
 }
 public function testExecute()
 {
     $this->_getTreeBlock();
     $testCategoryId = 1;
     $this->requestMock->expects($this->any())->method('getPost')->will($this->returnValue($testCategoryId));
     $categoryMock = $this->getMock('Magento\\Catalog\\Model\\Category', [], [], '', false);
     $categoryMock->expects($this->once())->method('load')->will($this->returnValue($categoryMock));
     $categoryMock->expects($this->once())->method('getId')->will($this->returnValue($testCategoryId));
     $this->objectManagerMock->expects($this->once())->method('create')->with($this->equalTo('Magento\\Catalog\\Model\\Category'))->will($this->returnValue($categoryMock));
     $this->chooserBlockMock->expects($this->once())->method('setSelectedCategories')->will($this->returnValue($this->chooserBlockMock));
     $testHtml = '<div>Some test html</div>';
     $this->chooserBlockMock->expects($this->once())->method('getTreeJson')->will($this->returnValue($testHtml));
     $this->resultJson->expects($this->once())->method('setJsonData')->with($testHtml)->willReturnSelf();
     $this->controller->execute();
 }
Пример #11
0
 /**
  * @return Json
  */
 public function execute()
 {
     $response = ['success' => false];
     $storeId = $this->_request->getParam('store');
     /** @var Store $store */
     $store = $this->_storeManager->getStore($storeId);
     if (!is_null($store)) {
         try {
             $emailAddress = $this->_request->getParam('email');
             $metaData = $this->_accountMetaBuilder->build($store);
             // todo: how to handle this class, DI?
             if (\Zend_Validate::is($emailAddress, 'EmailAddress')) {
                 /** @var \NostoOwner $owner */
                 $owner = $metaData->getOwner();
                 $owner->setEmail($emailAddress);
             }
             $account = $this->_accountService->create($metaData);
             if ($this->_accountHelper->saveAccount($account, $store)) {
                 // todo
                 //$this->_accountHelper->updateCurrencyExchangeRates($account, $store);
                 $response['success'] = true;
                 $response['redirect_url'] = $this->_accountHelper->getIframeUrl($store, $account, ['message_type' => \NostoMessage::TYPE_SUCCESS, 'message_code' => \NostoMessage::CODE_ACCOUNT_CREATE]);
             }
         } catch (\NostoException $e) {
             $this->_logger->error($e, ['exception' => $e]);
         }
     }
     if (!$response['success']) {
         $response['redirect_url'] = $this->_accountHelper->getIframeUrl($store, null, ['message_type' => \NostoMessage::TYPE_ERROR, 'message_code' => \NostoMessage::CODE_ACCOUNT_CREATE]);
     }
     return $this->_result->setData($response);
 }
Пример #12
0
 public function testExecuteWithoutData()
 {
     $this->jsonFactory->expects($this->once())->method('create')->willReturn($this->resultJson);
     $this->request->expects($this->any())->method('getParam')->willReturnMap([['items', [], []], ['isAjax', null, true]]);
     $this->resultJson->expects($this->once())->method('setData')->with(['messages' => ['Please correct the data sent.'], 'error' => true])->willReturnSelf();
     $this->assertSame($this->resultJson, $this->controller->execute());
 }
Пример #13
0
 /**
  * {@inheritdoc}
  */
 public function renderResult(\Magento\Framework\App\ResponseInterface $response)
 {
     $pluginInfo = $this->pluginList->getNext($this->subjectType, 'renderResult');
     if (!$pluginInfo) {
         return parent::renderResult($response);
     } else {
         return $this->___callPlugins('renderResult', func_get_args(), $pluginInfo);
     }
 }
Пример #14
0
 /**
  * Test execute exception
  *
  * @return void
  */
 public function testExecuteException()
 {
     $response = ['error' => true, 'message' => 'Cannot add new comment.'];
     $e = new \Exception('test');
     $this->requestMock->expects($this->once())->method('getParam')->will($this->throwException($e));
     $this->resultJsonFactoryMock->expects($this->once())->method('create')->will($this->returnValue($this->resultJsonMock));
     $this->resultJsonMock->expects($this->once())->method('setData')->with($response);
     $this->assertSame($this->resultJsonMock, $this->controller->execute());
 }
Пример #15
0
 /**
  * @return Json
  */
 public function execute()
 {
     $response = ['success' => false];
     $storeId = $this->_request->getParam('store');
     /** @var Store $store */
     $store = $this->_storeManager->getStore($storeId);
     $account = !is_null($store) ? $this->_accountHelper->findAccount($store) : null;
     if (!is_null($store) && !is_null($account)) {
         if ($this->_accountHelper->deleteAccount($account, $store)) {
             $response['success'] = true;
             $response['redirect_url'] = $this->_accountHelper->getIframeUrl($store, null, ['message_type' => \NostoMessage::TYPE_SUCCESS, 'message_code' => \NostoMessage::CODE_ACCOUNT_DELETE]);
         }
     }
     if (!$response['success']) {
         $response['redirect_url'] = $this->_accountHelper->getIframeUrl($store, $account, ['message_type' => \NostoMessage::TYPE_ERROR, 'message_code' => \NostoMessage::CODE_ACCOUNT_DELETE]);
     }
     return $this->_result->setData($response);
 }
Пример #16
0
 /**
  * Test execute no comment
  *
  * @return void
  */
 public function testExecuteNoComment()
 {
     $message = 'Please enter a comment.';
     $response = ['error' => true, 'message' => $message];
     $data = [];
     $this->requestMock->expects($this->once())->method('getPost')->with('comment')->willReturn($data);
     $this->resultJsonFactoryMock->expects($this->once())->method('create')->willReturn($this->resultJsonMock);
     $this->resultJsonMock->expects($this->once())->method('setData')->with($response)->willReturnSelf();
     $this->assertInstanceOf('Magento\\Framework\\Controller\\Result\\Json', $this->controller->execute());
 }
Пример #17
0
 /**
  * Test execute exception
  *
  * @return void
  */
 public function testExecuteException()
 {
     $message = 'Cannot update the item\'s quantity.';
     $e = new \Exception($message);
     $response = ['error' => true, 'message' => $message];
     $this->requestMock->expects($this->any())->method('getParam')->willReturnArgument(0);
     $this->loaderMock->expects($this->once())->method('load')->willThrowException($e);
     $this->resultJsonFactoryMock->expects($this->once())->method('create')->willReturn($this->resultJsonMock);
     $this->resultJsonMock->expects($this->once())->method('setData')->with($response)->willReturnSelf();
     $this->assertInstanceOf('Magento\\Framework\\Controller\\Result\\Json', $this->controller->execute());
 }
Пример #18
0
 public function testLoginFailure()
 {
     $jsonRequest = '{"username":"******", "password":"******"}';
     $loginFailureResponse = '{"message":"Invalid login or password."}';
     $this->request->expects($this->any())->method('getContent')->willReturn($jsonRequest);
     $this->request->expects($this->any())->method('getMethod')->willReturn('POST');
     $this->request->expects($this->any())->method('isXmlHttpRequest')->willReturn(true);
     $this->resultJsonFactory->expects($this->once())->method('create')->willReturn($this->resultJson);
     $this->jsonHelperMock->expects($this->any())->method('jsonDecode')->with($jsonRequest)->willReturn(['username' => '*****@*****.**', 'password' => 'invalid']);
     $customerMock = $this->getMockForAbstractClass('Magento\\Customer\\Api\\Data\\CustomerInterface');
     $this->customerAccountManagementMock->expects($this->any())->method('authenticate')->with('*****@*****.**', 'invalid')->willThrowException(new InvalidEmailOrPasswordException(__('Invalid login or password.')));
     $this->customerSession->expects($this->never())->method('setCustomerDataAsLoggedIn')->with($customerMock);
     $this->customerSession->expects($this->never())->method('regenerateId');
     $result = ['errors' => true, 'message' => __('Invalid login or password.')];
     $this->resultJson->expects($this->once())->method('setData')->with($result)->willReturn($loginFailureResponse);
     $this->assertEquals($loginFailureResponse, $this->object->execute());
 }
Пример #19
0
 /**
  * Return when fails
  *
  * @param $message
  * @return \Magento\Framework\Controller\Result\Json
  */
 protected function whenError($message)
 {
     return $this->_result->setData(['success' => false, 'payload' => ['error' => $message]]);
 }
Пример #20
0
 /**
  * Return when fails
  *
  * @param $message
  * @return $this
  */
 private function whenError($message)
 {
     return $this->result->setData(['success' => false, 'payload' => ['error' => $message, 'redirect' => sprintf('%s%s', $this->baseUrl(), 'pagseguro/payment/failure')]]);
 }
Пример #21
0
 public function testExecuteWithQuantityArrayAjax()
 {
     $refererUrl = $this->prepareExecuteWithQuantityArray(true);
     $this->resultJsonMock->expects($this->once())->method('setData')->with(['backUrl' => $refererUrl])->willReturnSelf();
     $this->assertSame($this->resultJsonMock, $this->model->execute());
 }