aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators/rails_mailer_generator_test.rb
blob: 03170c3b618f80870cb2603dd99ebd60c82acc8c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require 'generators/generator_test_helper'

class RailsMailerGeneratorTest < GeneratorTestCase

  def test_generates_mailer
    run_generator('mailer', %w(Notifier reset_password))

    assert_generated_model_for :notifier, 'ActionMailer::Base' do |model|
      assert_has_method model, :reset_password do |name, body|
        assert_equal [
            "subject    'Notifier#reset_password'",
            "recipients ''",
            "from       ''",
            "sent_on    sent_at",
            "",
            "body       :greeting => 'Hi,'"
          ],
          body.split("\n").map{|line| line.sub(' '*4, '') }
      end

      assert_match /^  default_url_options\[:host\] = 'example.com'$/m, model,
        'model should include default_url_options :host declaration'
    end
    
    assert_generated_views_for :notifier, 'reset_password.erb'
    assert_generated_unit_test_for :notifier, 'ActionMailer::TestCase'
    assert_generated_file "test/fixtures/notifier/reset_password"
  end
end