forked from minitest/minitest-rails
-
Notifications
You must be signed in to change notification settings - Fork 2
/
test_mailer_generator.rb
39 lines (33 loc) · 1.22 KB
/
test_mailer_generator.rb
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
30
31
32
33
34
35
36
37
38
39
require "minitest/autorun"
require "minitest-rails"
require "rails"
require "rails/generators"
require "generators/mini_test/mailer/mailer_generator"
require "fileutils"
class TestMailerGenerator < MiniTest::Unit::TestCase
Rails::Generators.no_color!
def test_mailer_generator
text = capture(:stdout) do
MiniTest::Generators::MailerGenerator.start ["notification"]
end
assert_match(/create test\/mailers\/notification_test.rb/m, text)
assert File.exists? "test/mailers/notification_test.rb"
contents = open("test/mailers/notification_test.rb").read
assert_match(/class NotificationTest/m, contents)
ensure
# TODO: Don"t write the files
# I agree, it would be better to mock the file getting written
FileUtils.rm_r "test/mailers"
end
def test_mailer_generator_spec
text = capture(:stdout) do
MiniTest::Generators::MailerGenerator.start ["notification", "welcome", "--spec"]
end
assert_match(/create test\/mailers\/notification_test.rb/m, text)
assert File.exists? "test/mailers/notification_test.rb"
contents = open("test/mailers/notification_test.rb").read
assert_match(/describe Notification do/m, contents)
ensure
FileUtils.rm_r "test/mailers"
end
end