From 534f7b54e33a142c8c0aca8b92a6298701efd13b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 25 Jun 2009 16:21:33 +0200 Subject: Mailer tests. --- railties/test/generators/mailer_generator_test.rb | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 railties/test/generators/mailer_generator_test.rb (limited to 'railties/test') diff --git a/railties/test/generators/mailer_generator_test.rb b/railties/test/generators/mailer_generator_test.rb new file mode 100644 index 0000000000..2574ed43bd --- /dev/null +++ b/railties/test/generators/mailer_generator_test.rb @@ -0,0 +1,48 @@ +require 'abstract_unit' +require 'generators/generators_test_helper' +require 'generators/erb/mailer/mailer_generator' +require 'generators/rails/mailer/mailer_generator' +require 'generators/test_unit/mailer/mailer_generator' + +class MailerGeneratorTest < GeneratorsTestCase + + def test_mailer_skeleton_is_created + run_generator + assert_file "app/models/notifier.rb" + end + + def test_check_class_collision + content = capture(:stderr){ run_generator ["object"] } + assert_match /The name 'Object' is either already used in your application or reserved/, content + end + + def test_invokes_default_test_framework + run_generator + assert_file "test/unit/notifier_test.rb" + assert_file "test/fixtures/notifier/foo" + assert_file "test/fixtures/notifier/bar" + end + + def test_invokes_default_template_engine + run_generator + assert_file "app/views/notifier/foo.erb" + assert_file "app/views/notifier/bar.erb" + end + + def test_invokes_default_template_engine_even_with_no_action + run_generator ["notifier"] + assert_file "app/views/notifier" + end + + def test_logs_if_the_template_engine_cannot_be_found + content = run_generator ["notifier", "foo", "bar", "--template-engine=unknown"] + assert_match /Could not find and invoke 'unknown:generators:mailer'/, content + end + + protected + + def run_generator(args=["notifier", "foo", "bar"]) + silence(:stdout) { Rails::Generators::MailerGenerator.start args, :root => destination_root } + end + +end -- cgit v1.2.3