Add namespacing for observer generator

Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
Piotr Sarnacki 2010-09-25 13:26:08 +02:00 committed by José Valim
parent 49c3ad7f77
commit 7acf64a81b
3 changed files with 26 additions and 0 deletions

View File

@ -1,2 +1,4 @@
<% module_namespacing do -%>
class <%= class_name %>Observer < ActiveRecord::Observer
end
<% end -%>

View File

@ -1,8 +1,10 @@
require 'test_helper'
<% module_namespacing do -%>
class <%= class_name %>ObserverTest < ActiveSupport::TestCase
# Replace this with your real tests.
test "the truth" do
assert true
end
end
<% end -%>

View File

@ -1,6 +1,7 @@
require 'generators/generators_test_helper'
require 'rails/generators/rails/controller/controller_generator'
require 'rails/generators/rails/model/model_generator'
require 'rails/generators/rails/observer/observer_generator'
class NamespacedGeneratorTestCase < Rails::Generators::TestCase
def setup
@ -128,3 +129,24 @@ class NamespacedModelGeneratorTest < NamespacedGeneratorTestCase
assert_file "test/fixtures/test_app/accounts.yml", /name: MyString/, /age: 1/
end
end
class NamespacedObserverGeneratorTest < NamespacedGeneratorTestCase
include GeneratorsTestHelper
arguments %w(account)
tests Rails::Generators::ObserverGenerator
def test_invokes_default_orm
run_generator
assert_file "app/models/test_app/account_observer.rb", /module TestApp/, / class AccountObserver < ActiveRecord::Observer/
end
def test_invokes_default_orm_with_class_path
run_generator ["admin/account"]
assert_file "app/models/test_app/admin/account_observer.rb", /module TestApp/, / class Admin::AccountObserver < ActiveRecord::Observer/
end
def test_invokes_default_test_framework
run_generator
assert_file "test/unit/test_app/account_observer_test.rb", /module TestApp/, / class AccountObserverTest < ActiveSupport::TestCase/
end
end