require 'test_helper' class ModerationMailerTest < ActionMailer::TestCase setup do ActionMailer::Base.default_url_options[:host] = 'localhost:3000' end test 'create' do mail = ModerationMailer.create Event.unscoped.last assert_match(/\[Agenda du Libre\] Nouvel événement à modérer: .*/, mail.subject) assert_equal ['moderateurs@agendadulibre.org'], mail.to assert_equal ['moderateurs@agendadulibre.org'], mail.from end test 'update' do event = Event.last olderEvent = Event.new event.attributes event.tags += ', ho' event.start_time += 1.day event.description = event.description + ' hello world' mail = ModerationMailer.update olderEvent, event, User.last assert_match(/\[Agenda du Libre\] Édition de l'événement .*/, mail.subject) assert_equal ['moderateurs@agendadulibre.org'], mail.to assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_match(/^{/, mail.body.to_s) end test 'accept' do mail = ModerationMailer.accept Event.unscoped.last, User.last assert_match(/\[Agenda du Libre\] Événement .* modéré/, mail.subject) assert_equal ['moderateurs@agendadulibre.org'], mail.to assert_equal ['moderateurs@agendadulibre.org'], mail.from end test 'destroy' do mail = ModerationMailer.destroy Event.unscoped.last, User.last, 'hello world' assert_match(/\[Agenda du Libre\] Événement .* refusé/, mail.subject) assert_equal ['moderateurs@agendadulibre.org'], mail.to assert_equal ['moderateurs@agendadulibre.org'], mail.from end end