Esempio n. 1
0
 /**
  * @magentoDataFixture Magento/Customer/_files/customer.php
  * @magentoDataFixture Magento/Catalog/_files/product_simple.php
  * @dataProvider customerFunctionDataProvider
  *
  * @param bool isCustomerIdUsed
  */
 public function testSend($isCustomerIdUsed)
 {
     \Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(\Magento\Framework\App\Area::AREA_FRONTEND);
     $this->_emailModel = $this->_objectManager->create('Magento\\ProductAlert\\Model\\Email');
     /** @var \Magento\Store\Model\Website $website */
     $website = $this->_objectManager->create('Magento\\Store\\Model\\Website');
     $website->load(1);
     $this->_emailModel->setWebsite($website);
     /** @var \Magento\Customer\Api\Data\CustomerInterface $customer */
     $customerRepository = $this->_objectManager->create('Magento\\Customer\\Api\\CustomerRepositoryInterface');
     $customer = $customerRepository->getById(1);
     if ($isCustomerIdUsed) {
         $this->_emailModel->setCustomerId(1);
     } else {
         $this->_emailModel->setCustomerData($customer);
     }
     /** @var \Magento\Catalog\Model\Product $product */
     $product = $this->_objectManager->create('Magento\\Catalog\\Model\\Product');
     $product->load(1);
     $this->_emailModel->addPriceProduct($product);
     $this->_emailModel->send();
     /** @var \Magento\TestFramework\Mail\Template\TransportBuilderMock $transportBuilder */
     $transportBuilder = $this->_objectManager->get('Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock');
     $this->assertContains('John Smith,', $transportBuilder->getSentMessage()->getBodyHtml()->getRawContent());
 }
 protected function setUp()
 {
     /** @var $storeManager \Magento\Framework\StoreManagerInterface */
     $storeManager = self::$_objectManager->get('Magento\\Framework\\StoreManagerInterface');
     $this->_store = $storeManager->getStore();
     $this->_model = self::$_objectManager->create('Magento\\Catalog\\Model\\Category');
 }
Esempio n. 3
0
 protected function setUp()
 {
     $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     /** @var $sessionManager \Magento\Framework\Session\SessionManager */
     $sessionManager = $this->_objectManager->get('Magento\\Framework\\Session\\SessionManager');
     if ($sessionManager->isSessionExists()) {
         $sessionManager->writeClose();
     }
     $this->_model = $this->_objectManager->create('Magento\\Framework\\Session\\Config', array('saveMethod' => 'files', 'cacheLimiter' => $this->_cacheLimiter));
 }
 /**
  * Retrieve quote by given reserved order ID
  *
  * @param string $reservedOrderId
  * @return \Magento\Quote\Model\Quote
  * @throws \InvalidArgumentException
  */
 protected function getCart($reservedOrderId)
 {
     /** @var $cart \Magento\Quote\Model\Quote */
     $cart = $this->objectManager->get('Magento\\Quote\\Model\\Quote');
     $cart->load($reservedOrderId, 'reserved_order_id');
     if (!$cart->getId()) {
         throw new \InvalidArgumentException('There is no quote with provided reserved order ID.');
     }
     return $cart;
 }
Esempio n. 5
0
 /**
  * @magentoAppIsolation enabled
  * @magentoDataFixture Magento/Tax/_files/tax_classes.php
  */
 public function testCheckClassCanBeDeletedProductClassUsedInTaxRule()
 {
     /** @var $registry \Magento\Framework\Registry */
     $registry = $this->_objectManager->get('Magento\\Framework\\Registry');
     /** @var $taxRule \Magento\Tax\Model\Calculation\Rule */
     $taxRule = $registry->registry('_fixture/Magento_Tax_Model_Calculation_Rule');
     $productClasses = $taxRule->getProductTaxClasses();
     /** @var $model \Magento\Tax\Model\ClassModel */
     $model = $this->_objectManager->create('Magento\\Tax\\Model\\ClassModel')->load($productClasses[0]);
     $this->setExpectedException('Magento\\Framework\\Exception\\CouldNotDeleteException', 'You cannot delete this tax class because it is used in' . ' Tax Rules. You have to delete the rules it is used in first.');
     $model->delete();
 }
Esempio n. 6
0
 protected function setUp()
 {
     $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     $this->productRepository = $this->objectManager->create('Magento\\Catalog\\Api\\ProductRepositoryInterface');
     try {
         $this->product = $this->productRepository->get('simple');
     } catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
         $this->product = $this->productRepository->get('simple_dropdown_option');
     }
     $this->objectManager->get('Magento\\Framework\\Registry')->unregister('current_product');
     $this->objectManager->get('Magento\\Framework\\Registry')->register('current_product', $this->product);
     $this->block = $this->objectManager->get('Magento\\Framework\\View\\LayoutInterface')->createBlock('Magento\\Catalog\\Block\\Product\\View\\Options');
 }
Esempio n. 7
0
 protected function setUp()
 {
     $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     /** @var $sessionManager \Magento\Framework\Session\SessionManager */
     $sessionManager = $this->_objectManager->create('Magento\\Framework\\Session\\SessionManager');
     if ($sessionManager->isSessionExists()) {
         $sessionManager->writeClose();
     }
     $this->deploymentConfigMock = $this->getMock('Magento\\Framework\\App\\DeploymentConfig', [], [], '', false);
     $this->deploymentConfigMock->expects($this->at(0))->method('get')->with(Config::PARAM_SESSION_SAVE_PATH)->will($this->returnValue(null));
     $this->deploymentConfigMock->expects($this->at(1))->method('get')->with(Config::PARAM_SESSION_CACHE_LIMITER)->will($this->returnValue($this->_cacheLimiter));
     $this->_model = $this->_objectManager->create('Magento\\Framework\\Session\\Config', ['deploymentConfig' => $this->deploymentConfigMock]);
     $this->defaultSavePath = $this->_objectManager->get('Magento\\Framework\\Filesystem\\DirectoryList')->getPath(DirectoryList::SESSION);
 }
Esempio n. 8
0
 protected function setUp()
 {
     $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     $this->_model = $this->_objectManager->get('Magento\\Framework\\Session\\SaveHandler\\DbTable');
     /** @var $resource \Magento\Framework\App\Resource */
     $resource = $this->_objectManager->get('Magento\\Framework\\App\\Resource');
     $this->_connection = $resource->getConnection('core_write');
     $this->_sessionTable = $resource->getTableName('session');
     // session stores serialized objects with protected properties
     // we need to test this case to ensure that DB adapter successfully processes "\0" symbols in serialized data
     foreach ($this->_sourceData as $key => $data) {
         $this->_sessionData[$key] = new \Magento\Framework\Object($data);
     }
 }
Esempio n. 9
0
 public function setUp()
 {
     $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     $xmlFiles = $this->getXmlConfigFiles();
     if (!empty($xmlFiles)) {
         $this->_fileResolverMock = $this->getMockBuilder('Magento\\Framework\\App\\Arguments\\FileResolver\\Primary')->disableOriginalConstructor()->getMock();
         /* Enable Validation regardles of MAGE_MODE */
         $validateStateMock = $this->getMockBuilder('Magento\\Framework\\Config\\ValidationStateInterface')->disableOriginalConstructor()->getMock();
         $validateStateMock->expects($this->any())->method('isValidated')->will($this->returnValue(true));
         $this->_reader = $this->_objectManager->create($this->_getReaderClassName(), ['configFiles' => $xmlFiles, 'fileResolver' => $this->_fileResolverMock, 'validationState' => $validateStateMock]);
         /** @var \Magento\Framework\Filesystem $filesystem */
         $filesystem = $this->_objectManager->get('Magento\\Framework\\Filesystem');
         $this->_schemaFile = $filesystem->getDirectoryRead($this->getDirectoryConstant())->getAbsolutePath($this->_getXsdPath());
     }
 }
 /**
  * @magentoApiDataFixture Magento/Customer/_files/customer.php
  * @magentoApiDataFixture Magento/Sales/_files/quote.php
  * @magentoApiDataFixture Magento/Checkout/_files/discount_10percent_generalusers.php
  */
 public function testSetMyCouponSuccess()
 {
     $this->_markTestAsRestOnly();
     // get customer ID token
     /** @var \Magento\Integration\Api\CustomerTokenServiceInterface $customerTokenService */
     $customerTokenService = $this->objectManager->create('Magento\\Integration\\Api\\CustomerTokenServiceInterface');
     $token = $customerTokenService->createCustomerAccessToken('*****@*****.**', 'password');
     /** @var \Magento\Quote\Model\Quote $quote */
     $quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
     $quote->load('test01', 'reserved_order_id');
     $cartId = $quote->getId();
     /** @var \Magento\SalesRule\Model\Rule $salesRule */
     $salesRule = $this->objectManager->create('Magento\\SalesRule\\Model\\Rule');
     $salesRuleId = $this->objectManager->get('Magento\\Framework\\Registry')->registry('Magento/Checkout/_file/discount_10percent_generalusers');
     $salesRule->load($salesRuleId);
     $couponCode = $salesRule->getPrimaryCoupon()->getCode();
     /* Since this isn't a full quote fixture, need to assign it to the right customer */
     $cartManagementService = $this->objectManager->create('Magento\\Quote\\Api\\CartManagementInterface');
     $cartManagementService->assignCustomer($cartId, 1, 1);
     $serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . 'mine/coupons/' . $couponCode, 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_PUT, 'token' => $token]];
     $requestData = ["couponCode" => $couponCode];
     $this->assertTrue($this->_webApiCall($serviceInfo, $requestData));
     $quoteWithCoupon = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
     $quoteWithCoupon->load('test01', 'reserved_order_id');
     $this->assertEquals($quoteWithCoupon->getCouponCode(), $couponCode);
 }
Esempio n. 11
0
 /**
  * @magentoDataFixture Magento/Newsletter/_files/subscribers.php
  */
 public function testSaveActionExistingCustomerUnsubscribeNewsletter()
 {
     $customerId = 1;
     /** @var \Magento\Newsletter\Model\Subscriber $subscriber */
     $subscriber = $this->objectManager->get('Magento\\Newsletter\\Model\\SubscriberFactory')->create();
     $this->assertEmpty($subscriber->getId());
     $subscriber->loadByCustomerId($customerId);
     $this->assertNotEmpty($subscriber->getId());
     $this->assertEquals(1, $subscriber->getStatus());
     $post = ['customer' => ['entity_id' => $customerId], 'subscription' => 'false'];
     $this->getRequest()->setPostValue($post);
     $this->getRequest()->setParam('id', 1);
     $this->dispatch('backend/customer/index/save');
     /** @var \Magento\Newsletter\Model\Subscriber $subscriber */
     $subscriber = $this->objectManager->get('Magento\\Newsletter\\Model\\SubscriberFactory')->create();
     $this->assertEmpty($subscriber->getId());
     $subscriber->loadByCustomerId($customerId);
     $this->assertNotEmpty($subscriber->getId());
     $this->assertEquals(3, $subscriber->getStatus());
     /**
      * Check that success message is set
      */
     $this->assertSessionMessages($this->equalTo(['You saved the customer.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS);
     $this->assertRedirect($this->stringStartsWith($this->_baseControllerUrl . 'index/key/'));
 }
Esempio n. 12
0
 /**
  * @magentoDataFixture Magento/Store/_files/core_fixturestore.php
  * @magentoComponentsDir Magento/Email/Model/_files/design
  * @magentoAppIsolation enabled
  * @magentoDbIsolation enabled
  * @dataProvider inlinecssDirectiveThrowsExceptionWhenMissingParameterDataProvider
  *
  * @param string $templateText
  */
 public function testInlinecssDirectiveThrowsExceptionWhenMissingParameter($templateText)
 {
     /** @var \Magento\Theme\Model\Theme\Registration $registration */
     $registration = $this->objectManager->get('Magento\\Theme\\Model\\Theme\\Registration');
     $registration->register();
     $this->setUpDesignParams();
     $this->model->filter($templateText);
 }
 /**
  * @covers \Magento\Catalog\Model\Product\Gallery\ReadHandler::execute
  */
 public function testExecute()
 {
     /** @var \Magento\Catalog\Model\Product $product */
     $product = $this->objectManager->create('Magento\\Catalog\\Model\\Product');
     /**
      * @var $entityMetadata \Magento\Framework\Model\Entity\EntityMetadata
      */
     $entityMetadata = $this->objectManager->get(MetadataPool::class)->getMetadata(ProductInterface::class);
     $productRepository = $this->objectManager->get(\Magento\Catalog\Api\ProductRepositoryInterface::class);
     $linkFieldId = $productRepository->get('simple')->getData($entityMetadata->getLinkField());
     $product->setData($entityMetadata->getLinkField(), $linkFieldId);
     $this->readHandler->execute('Magento\\Catalog\\Api\\Data\\ProductInterface', $product);
     $data = $product->getData();
     $this->assertArrayHasKey('media_gallery', $data);
     $this->assertArrayHasKey('images', $data['media_gallery']);
     $this->assertEquals('Image Alt Text', $data['media_gallery']['images'][0]['label']);
 }
 /**
  * Delete quote by given reserved order ID
  *
  * @param string $reservedOrderId
  * @return void
  */
 protected function deleteCart($reservedOrderId)
 {
     try {
         /** @var $cart \Magento\Quote\Model\Quote */
         $cart = $this->objectManager->get('Magento\\Quote\\Model\\Quote');
         $cart->load($reservedOrderId, 'reserved_order_id');
         if (!$cart->getId()) {
             throw new \InvalidArgumentException('There is no quote with provided reserved order ID.');
         }
         $cart->delete();
         /** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */
         $quoteIdMask = $this->objectManager->create('Magento\\Quote\\Model\\QuoteIdMask');
         $quoteIdMask->delete($cart->getId());
     } catch (\InvalidArgumentException $e) {
         // Do nothing if cart fixture was not used
     }
 }
Esempio n. 15
0
 /**
  * @magentoDataFixture Magento/Store/_files/store.php
  * @magentoDataFixture Magento/Tax/_files/tax_classes.php
  */
 public function testGetTitles()
 {
     /** @var \Magento\Tax\Model\Calculation\Rate $rate */
     $rate = $this->_objectManager->create('Magento\\Tax\\Model\\Calculation\\Rate');
     $rate->load(1);
     /** @var \Magento\Store\Model\Store $store */
     $store = $this->_objectManager->get('Magento\\Store\\Model\\Store');
     $store->load('test', 'code');
     $title = 'title';
     $rate->saveTitles([$store->getId() => $title]);
     $coreRegistry = $this->_objectManager->create('Magento\\Framework\\Registry');
     $coreRegistry->register(RegistryConstants::CURRENT_TAX_RATE_ID, 1);
     /** @var \Magento\Tax\Block\Adminhtml\Rate\Title $block */
     $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Tax\\Block\\Adminhtml\\Rate\\Title', ['coreRegistry' => $coreRegistry]);
     $titles = $block->getTitles();
     $this->assertArrayHasKey($store->getId(), $titles, 'Store was not created');
     $this->assertEquals($title, $titles[$store->getId()], 'Invalid Tax Title');
 }
 public function testGetCategory()
 {
     $this->assertEmpty($this->_model->getCategory());
     $this->objectManager->get('Magento\\Framework\\Registry')->register('current_category', new \Magento\Framework\DataObject(['id' => 3]));
     // fixture
     try {
         $category = $this->_model->getCategory();
         $this->assertInstanceOf('Magento\\Catalog\\Model\\Category', $category);
         $this->assertEquals(3, $category->getId());
         $this->objectManager->get('Magento\\Framework\\Registry')->unregister('current_category');
     } catch (\Exception $e) {
         $this->objectManager->get('Magento\\Framework\\Registry')->unregister('current_category');
         throw $e;
     }
     $categoryTwo = new \StdClass();
     $this->_model->setCategory($categoryTwo);
     $this->assertSame($categoryTwo, $this->_model->getCategory());
 }
 /**
  * Initializes context.
  *
  * Every scenario gets its own context instance.
  * You can also pass arbitrary arguments to the
  * context constructor through behat.yml.
  */
 public function __construct($apiTimeout, $maxSuggestions)
 {
     $this->objectManager = TestBootstrap::getObjectManager();
     $this->customerRepository = $this->objectManager->create('\\Magento\\Customer\\Api\\CustomerRepositoryInterface');
     $this->customerFactory = $this->objectManager->create('\\Magento\\Customer\\Api\\Data\\CustomerInterfaceFactory');
     $this->addressFactory = $this->objectManager->create('\\Magento\\Customer\\Api\\Data\\AddressInterfaceFactory');
     $this->addressRepository = $this->objectManager->create('\\Magento\\Customer\\Api\\AddressRepositoryInterface');
     $this->customerRegionFactory = $this->objectManager->create('\\Magento\\Customer\\Api\\Data\\RegionInterfaceFactory');
     $this->directoryRegionFactory = $this->objectManager->create('\\Magento\\Directory\\Model\\RegionFactory');
     $this->addressSession = $this->objectManager->create('\\EbayEnterprise\\Address\\Model\\Session');
     $this->addressConverter = $this->objectManager->create('\\EbayEnterprise\\Address\\Helper\\Converter');
     $this->maxSuggestions = $maxSuggestions;
     $scopeConfig = $this->objectManager->get('\\Magento\\Framework\\App\\Config\\MutableScopeConfigInterface');
     $scopeConfig->setValue('ebay_enterprise/general/store_id', $_ENV['STORE_ID'], ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
     $scopeConfig->setValue('ebay_enterprise/web_services/hostname', $_ENV['API_HOSTNAME'], ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
     $scopeConfig->setValue('ebay_enterprise/web_services/api_key', $_ENV['API_KEY'], ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
     $scopeConfig->setValue('ebay_enterprise/web_services/api_timeout', $apiTimeout, ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
     $scopeConfig->setValue('ebay_enterprise/address_validation/max_suggestions', $maxSuggestions, ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
 }
Esempio n. 18
0
 /**
  * @magentoDataFixture Magento/Customer/_files/customer.php
  * @magentoDataFixture Magento/Catalog/_files/product_simple.php
  */
 public function testSend()
 {
     $this->_objectManager->configure(['Magento\\ProductAlert\\Model\\Email' => ['arguments' => ['transportBuilder' => ['instance' => 'Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock']]], 'preferences' => ['Magento\\Framework\\Mail\\TransportInterface' => 'Magento\\TestFramework\\Mail\\TransportInterfaceMock']]);
     \Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(\Magento\Framework\App\Area::AREA_FRONTEND);
     $this->_emailModel = $this->_objectManager->create('Magento\\ProductAlert\\Model\\Email');
     /** @var \Magento\Store\Model\Website $website */
     $website = $this->_objectManager->create('Magento\\Store\\Model\\Website');
     $website->load(1);
     $this->_emailModel->setWebsite($website);
     /** @var \Magento\Customer\Service\V1\Data\Customer $customer */
     $customer = $this->_customerAccountService->getCustomer(1);
     $this->_emailModel->setCustomerData($customer);
     /** @var \Magento\Catalog\Model\Product $product */
     $product = $this->_objectManager->create('Magento\\Catalog\\Model\\Product');
     $product->load(1);
     $this->_emailModel->addPriceProduct($product);
     $this->_emailModel->send();
     /** @var \Magento\TestFramework\Mail\Template\TransportBuilderMock $transportBuilder */
     $transportBuilder = $this->_objectManager->get('Magento\\TestFramework\\Mail\\Template\\TransportBuilderMock');
     $this->assertStringMatchesFormat('%AHello ' . $this->_customerViewHelper->getCustomerName($customer) . '%A', $transportBuilder->getSentMessage()->getBodyHtml()->getContent());
 }
Esempio n. 19
0
 /**
  * Test CSS minification
  *
  * @param string $requestedUri
  * @param callable $assertionCallback
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _testCssMinification($requestedUri, $assertionCallback)
 {
     /** @var \Magento\Framework\App\Request\Http $request */
     $request = $this->objectManager->get(\Magento\Framework\App\Request\Http::class);
     $request->setRequestUri($requestedUri);
     $request->setParam('resource', $requestedUri);
     $response = $this->getMockBuilder(\Magento\Framework\App\Response\FileInterface::class)->setMethods(['setFilePath'])->getMockForAbstractClass();
     $response->expects($this->any())->method('setFilePath')->will($this->returnCallback($assertionCallback));
     /** @var \Magento\Framework\App\StaticResource $staticResourceApp */
     $staticResourceApp = $this->objectManager->create(\Magento\Framework\App\StaticResource::class, ['response' => $response]);
     $staticResourceApp->launch();
 }
 /**
  * Assert that actual session messages meet expectations:
  * Usage examples:
  * $this->assertSessionMessages($this->isEmpty(), \Magento\Framework\Message\MessageInterface::TYPE_ERROR);
  * $this->assertSessionMessages($this->equalTo(array('Entity has been saved.')),
  * \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS);
  *
  * @param \PHPUnit_Framework_Constraint $constraint Constraint to compare actual messages against
  * @param string|null $messageType Message type filter,
  *        one of the constants \Magento\Framework\Message\MessageInterface::*
  * @param string $messageManagerClass Class of the session model that manages messages
  */
 public function assertSessionMessages(\PHPUnit_Framework_Constraint $constraint, $messageType = null, $messageManagerClass = 'Magento\\Framework\\Message\\Manager')
 {
     $this->_assertSessionErrors = false;
     /** @var $messageManager \Magento\Framework\Message\ManagerInterface */
     $messageManager = $this->_objectManager->get($messageManagerClass);
     /** @var $messages \Magento\Framework\Message\AbstractMessage[] */
     if ($messageType === null) {
         $messages = $messageManager->getMessages()->getItems();
     } else {
         $messages = $messageManager->getMessages()->getItemsByType($messageType);
     }
     $actualMessages = [];
     foreach ($messages as $message) {
         $actualMessages[] = $message->getText();
     }
     $this->assertThat($actualMessages, $constraint, 'Session messages do not meet expectations' . var_export($actualMessages, true));
 }
 /**
  * @magentoApiDataFixture Magento/Sales/_files/quote.php
  * @magentoApiDataFixture Magento/Checkout/_files/discount_10percent.php
  */
 public function testSetCouponSuccess()
 {
     /** @var \Magento\Quote\Model\Quote $quote */
     $quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
     $quote->load('test01', 'reserved_order_id');
     $cartId = $this->getQuoteMaskedId($quote->getId());
     $salesRule = $this->objectManager->create('Magento\\SalesRule\\Model\\Rule');
     $salesRuleId = $this->objectManager->get('Magento\\Framework\\Registry')->registry('Magento/Checkout/_file/discount_10percent');
     $salesRule->load($salesRuleId);
     $couponCode = $salesRule->getPrimaryCoupon()->getCode();
     $serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . $cartId . '/coupons/' . $couponCode, 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_PUT], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'Set']];
     $requestData = ["cartId" => $cartId, "couponCode" => $couponCode];
     $this->assertTrue($this->_webApiCall($serviceInfo, $requestData));
     $quoteWithCoupon = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
     $quoteWithCoupon->load('test01', 'reserved_order_id');
     $this->assertEquals($quoteWithCoupon->getCouponCode(), $couponCode);
 }
Esempio n. 22
0
 /**
  * Return messages stored in cookies by type
  *
  * @param string|null $messageType
  * @return array
  */
 protected function getCookieMessages($messageType = null)
 {
     /** @var $cookieManager CookieManagerInterface */
     $cookieManager = $this->_objectManager->get(CookieManagerInterface::class);
     try {
         $messages = \Zend_Json::decode($cookieManager->getCookie(MessagePlugin::MESSAGES_COOKIES_NAME, \Zend_Json::encode([])));
         if (!is_array($messages)) {
             $messages = [];
         }
     } catch (\Zend_Json_Exception $e) {
         $messages = [];
     }
     $actualMessages = [];
     foreach ($messages as $message) {
         if ($messageType === null || $message['type'] == $messageType) {
             $actualMessages[] = $message['text'];
         }
     }
     return $actualMessages;
 }
Esempio n. 23
0
 public function setUp()
 {
     $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
     $this->_customerSession = $this->_objectManager->get('Magento\\Customer\\Model\\Session');
     $this->_block = $this->_objectManager->create('Magento\\Wishlist\\Block\\Share\\Wishlist');
 }
 /**
  * Clear config cache
  */
 protected function resetConfig()
 {
     $this->objectManager->get('Magento\\Framework\\App\\Config\\ReinitableConfigInterface')->reinit();
 }
Esempio n. 25
0
 /**
  * Clear config cache
  */
 protected function _resetConfig()
 {
     $this->_objectManager->get('Magento\\Framework\\App\\Config\\ReinitableConfigInterface')->reinit();
     $this->_objectManager->create('Magento\\Framework\\StoreManagerInterface')->reinitStores();
 }
Esempio n. 26
0
 /**
  * @magentoAppIsolation enabled
  */
 public function testGetUnsubscribeUrl()
 {
     $url = $this->_objectManager->get('Magento\\Newsletter\\Helper\\Data')->getUnsubscribeUrl($this->_subscriber);
     $this->assertTrue(strpos($url, 'newsletter/subscriber/unsubscribe') > 0);
     $this->assertFalse(strpos($url, 'admin'));
 }