test/test_controller_generator.rb in padrino-gen-0.9.13 vs test/test_controller_generator.rb in padrino-gen-0.9.14

- old
+ new

@@ -3,19 +3,36 @@ class TestControllerGenerator < Test::Unit::TestCase def setup @controller_path = '/tmp/sample_project/app/controllers/demo_items.rb' @controller_test_path = '/tmp/sample_project/test/controllers/demo_items_controller_test.rb' `rm -rf /tmp/sample_project` + `rm -rf /tmp/warepedia` end context 'the controller generator' do should "fail outside app root" do output = silence_logger { generate(:controller, 'demo', '-r=/tmp') } assert_match(/not at the root/, output) assert_no_file_exists('/tmp/app/controllers/demo.rb') end + should "generate controller within existing project" do + silence_logger { generate(:project, 'sample_project', '--root=/tmp', '--script=none', '-t=bacon') } + silence_logger { generate(:controller, 'DemoItems', '-r=/tmp/sample_project') } + assert_match_in_file(/SampleProject.controllers :demo_items do/m, @controller_path) + assert_match_in_file(/SampleProject.helpers do/m, '/tmp/sample_project/app/helpers/demo_items_helper.rb') + assert_file_exists('/tmp/sample_project/app/views/demo_items') + end + + should "generate controller within existing project with weird name" do + silence_logger { generate(:project, 'warepedia', '--root=/tmp', '--script=none', '-t=bacon') } + silence_logger { generate(:controller, 'DemoItems', '-r=/tmp/warepedia') } + assert_match_in_file(/Warepedia.controllers :demo_items do/m, "/tmp/warepedia/app/controllers/demo_items.rb") + assert_match_in_file(/Warepedia.helpers do/m, '/tmp/warepedia/app/helpers/demo_items_helper.rb') + assert_file_exists('/tmp/warepedia/app/views/demo_items') + end + should "generate controller in specified app" do silence_logger { generate(:project, 'sample_project', '--root=/tmp', '--script=none', '-t=bacon') } silence_logger { generate(:app, 'subby', '-r=/tmp/sample_project') } silence_logger { generate(:controller, 'DemoItems','-a=/subby', '-r=/tmp/sample_project') } assert_match_in_file(/Subby.controllers :demo_items do/m, @controller_path.gsub('app','subby')) @@ -29,17 +46,9 @@ silence_logger { generate(:controller, 'DemoItems', '-r=/tmp/sample_project') } assert_match_in_file(/SampleProject.controllers :demo_items do/m, @controller_path) assert_match_in_file(/SampleProject.helpers do/m, '/tmp/sample_project/app/helpers/demo_items_helper.rb') assert_file_exists('/tmp/sample_project/app/views/demo_items') assert_no_file_exists("/tmp/sample_project/test") - end - - should "generate controller within existing application" do - silence_logger { generate(:project, 'sample_project', '--root=/tmp', '--script=none', '-t=bacon') } - silence_logger { generate(:controller, 'DemoItems', '-r=/tmp/sample_project') } - assert_match_in_file(/SampleProject.controllers :demo_items do/m, @controller_path) - assert_match_in_file(/SampleProject.helpers do/m, '/tmp/sample_project/app/helpers/demo_items_helper.rb') - assert_file_exists('/tmp/sample_project/app/views/demo_items') end should "generate controller test for bacon" do silence_logger { generate(:project, 'sample_project', '--root=/tmp', '--script=none', '-t=bacon') } silence_logger { generate(:controller, 'DemoItems', '-r=/tmp/sample_project') }