$:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib') require 'test/unit' require 'ostruct' require 'nitro/controller' require 'nitro/mail' class TestCaseMail < Test::Unit::TestCase # :nodoc: all include N class DummyMailer < Mailer def initialize super @bcc = 'gm@navel.gr' @template_root = 'test/public/dummy_mailer' end def registration(to, username, token) @to = to @from = 'system@navel.gr' @subject = 'Nitro.com registration' @cc = 'gm@navel.gr' @body.username = username @body.token = token end def greek(to) @to = to @from = 'system@navel.gr' @subject = 'Ελληνικός Τίτλος' @cc = 'gm@navel.gr' @body = 'Τί έγινε ρε παιδιά;' end end class DummyController < Controller # mailer DummyMailer def register token = 999 deliver_registration('gmosx@navel.gr', 'gmosx', token) end end def test_mail m = Mail.new 'gmosx@navel.gr', 'drak@navel.gr', 'A simple test', 'This is the body of the message' expected = %{From: gmosx@navel.gr To: drak@navel.gr Subject: A simple test This is the body of the message} assert_equal expected, m.encoded m.to = %w{ renos@navel.gr stella@navel.gr } expected = %{From: gmosx@navel.gr To: renos@navel.gr, stella@navel.gr Subject: A simple test This is the body of the message} assert_equal expected, m.encoded end def test_mailer assert_equal 0, DummyMailer.deliveries.size Mailer.server[:address] = 'mail.navel.gr' assert_equal 'mail.navel.gr', DummyMailer.server[:address] DummyMailer.delivery_method = :test DummyMailer.template_root = File.join(File.dirname(__FILE__), '..', 'root', 'dummy_mailer') token = 999 DummyMailer.deliver_registration('gm@navel.gr', 'gmosx', token) assert_equal 1, DummyMailer.deliveries.size expected = %{From: system@navel.gr To: gm@navel.gr Cc: gm@navel.gr Bcc: gm@navel.gr Subject: =?utf-8?Q?Nitro=2ecom_registration?= Hello gmosx how do you feel? Here is your Token: 999 } assert_equal expected, DummyMailer.deliveries[0].encoded DummyMailer.deliver_greek('gm@navel.gr') assert_equal 2, DummyMailer.deliveries.size end end