/**
  * @magentoAppIsolation enabled
  * @magentoDataFixture Magento/Newsletter/_files/newsletter_sample.php
  */
 public function testSaveActionEditTemplateAndVerifySuccessMessage()
 {
     // Loading by code, since ID will vary. template_code is not actually used to load anywhere else.
     $this->_model->load('some_unique_code', 'template_code');
     // Ensure that template is actually loaded so as to prevent a false positive on saving a *new* template
     // instead of existing one.
     $this->assertEquals('some_unique_code', $this->_model->getTemplateCode());
     $this->getRequest()->setParam('id', $this->_model->getId());
     $this->dispatch('backend/newsletter/template/save');
     /**
      * Check that errors was generated and set to session
      */
     $this->assertSessionMessages($this->isEmpty(), \Magento\Framework\Message\MessageInterface::TYPE_ERROR);
     /**
      * Check that success message is set
      */
     $this->assertSessionMessages($this->equalTo(['The newsletter template has been saved.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS);
 }
 /**
  * @magentoDataFixture Magento/Newsletter/_files/newsletter_sample.php
  * @magentoAppIsolation disabled
  */
 public function testSaveActionQueueTemplateAndVerifySuccessMessage()
 {
     $postForQueue = ['sender_email' => '*****@*****.**', 'sender_name' => 'john doe', 'subject' => 'test subject', 'text' => 'newsletter text'];
     $this->getRequest()->setPostValue($postForQueue);
     // Loading by code, since ID will vary. template_code is not actually used to load anywhere else.
     $this->_model->load('some_unique_code', 'template_code');
     // Ensure that template is actually loaded so as to prevent a false positive on saving a *new* template
     // instead of existing one.
     $this->assertEquals('some_unique_code', $this->_model->getTemplateCode());
     $this->getRequest()->setParam('template_id', $this->_model->getId());
     $this->dispatch('backend/newsletter/queue/save');
     /**
      * Check that errors was generated and set to session
      */
     $this->assertSessionMessages($this->isEmpty(), \Magento\Framework\Message\MessageInterface::TYPE_ERROR);
     /**
      * Check that success message is set
      */
     $this->assertSessionMessages($this->equalTo(['You saved the newsletter queue.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS);
 }
Exemple #3
0
 /**
  * Check usage of template code in other templates
  *
  * @param \Magento\Newsletter\Model\Template $template
  * @return boolean
  */
 public function checkCodeUsage(\Magento\Newsletter\Model\Template $template)
 {
     if ($template->getTemplateActual() != 0 || is_null($template->getTemplateActual())) {
         $bind = ['template_id' => $template->getId(), 'template_code' => $template->getTemplateCode(), 'template_actual' => 1];
         $select = $this->_getReadAdapter()->select()->from($this->getMainTable(), new \Zend_Db_Expr('COUNT(template_id)'))->where('template_id != :template_id')->where('template_code = :template_code')->where('template_actual = :template_actual');
         $countOfCodes = $this->_getReadAdapter()->fetchOne($select, $bind);
         return $countOfCodes > 0;
     } else {
         return false;
     }
 }