text: const should = require('should');
  const sinon = require('sinon');
  const mail = require('../../../../core/server/services/mail');
  
  describe('Mail: Utils', function () {
      const scope = {ghostMailer: null};
  
      beforeEach(function () {
          scope.ghostMailer = new mail.GhostMailer();
  
          sinon.stub(scope.ghostMailer.transport, 'sendMail').callsFake(function (message, sendMailDone) {
              sendMailDone(null, {
                  statusHandler: {
                      once: function (eventName, eventDone) {
                          if (eventName === 'sent') {
                              eventDone();
                          }
                      }
                  }
              });
          });
      });
  
      afterEach(function () {
          sinon.restore();
      });
  
      it('generate welcome', function (done) {
          mail.utils.generateContent({
              template: 'welcome',
              data: {
                  ownerEmail: 'test@example.com'
              }
          }).then(function (result) {
              return scope.ghostMailer.send({
                  to: 'test@example.com',
                  subject: 'lol',
                  html: result.html,
                  text: result.text
              });
          }).then(function () {
              done();
          }).catch(done);
      });
  
      it('generates newsletter template', function (done) {
          mail.utils.generateContent({
              template: 'newsletter',
              data: {
                  blog: {
                      logo: 'http://myblog.com/content/images/blog-logo.jpg',
                      title: 'The Ghost Blog',
                      url: 'http://myblog.com',
                      twitter: 'http://twitter.com/ghost',
                      facebook: 'https://www.facebook.com/ghost',
                      unsubscribe: 'http://myblog.com/unsubscribe',
                      post: [
                          {
                              picture: 'http://myblog.com/content/images/post-1-image.jpg',
                              title: 'Featured blog post',
                              text: 'This is a featured blog post. It&#x2019;s awesome&#x2026;',
                              url: 'http://myblog.com/featured-blog-post',
                              tag: 'featured',
                              author: 'harry potter'
                          },
                          {
                              picture: 'http://myblog.com/content/images/post-2-image.jpg',
                              title: 'Second blog post',
                              text: 'This is the second blog post. It&#x2019;s also awesome&#x2026;',
                              url: 'http://myblog.com/second-blog-post',
                              tag: 'second',
                              author: 'lord voldemord'
                          },
                          {
                              picture: 'http://myblog.com/content/images/post-3-image.jpg',
                              title: 'Third blog post',
                              text: 'This is the third blog post. It&#x2019;s also awesome&#x2026;',
                              url: 'http://myblog.com/third-blog-post',
                              tag: 'third',
                              author: 'marry poppins'
                          },
                          {
                              picture: 'http://myblog.com/content/images/post-4-image.jpg',
                              title: 'Fourth blog post',
                              text: 'This is the fourth blog post. It&#x2019;s also awesome&#x2026;',
                              url: 'http://myblog.com/fourth-blog-post',
                              tag: 'fourth',
                              author: 'donald duck'
                          },
                          {
                              picture: 'http://myblog.com/content/images/post-5-image.jpg',
                              title: 'Fifth blog post',
                              text: 'This is the fifth blog post. It&#x2019;s also awesome&#x2026;',
                              url: 'http://myblog.com/fifth-blog-post',
                              tag: 'fifth',
                              author: 'casper the ghost'
                          }
                      ]
                  },
                  newsletter: {
                      interval: 'monthly',
                      date: 'june, 9th 2016'
                  }
              }
          }).then(function (result) {
              return scope.ghostMailer.send({
                  to: 'jbloggs@example.com',
                  subject: 'The Newsletter Blog',
                  html: result.html,
                  text: result.text
              });
          }).then(function () {
              done();
          }).catch(done);
      });
  });
  