/** * @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); $this->_model->loadByCode('some_unique_code'); $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(['The newsletter queue 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); }
/** * 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; } }
/** * @magentoAppIsolation enabled * @magentoDataFixture Magento/Newsletter/_files/newsletter_sample.php */ public function testDeleteActionTemplateAndVerifySuccessMessage() { $this->_model->loadByCode('some_unique_code'); $this->getRequest()->setParam('id', $this->_model->getId()); $this->dispatch('backend/newsletter/template/delete'); /** * 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 deleted.']), \Magento\Framework\Message\MessageInterface::TYPE_SUCCESS); }