test/test_controller_generator.rb in padrino-gen-0.12.8.1 vs test/test_controller_generator.rb in padrino-gen-0.12.9
- old
+ new
@@ -20,16 +20,21 @@
out, err = capture_io { generate(:controller, 'demo', "-r=#{@apptmp}") }
assert_match(/not at the root/, out)
assert_no_file_exists("#{@apptmp}/app/controllers/demo.rb")
end
+ it 'should fail with NameError if given invalid namespace names' do
+ capture_io { generate(:project, "sample", "--root=#{@apptmp}") }
+ assert_raises(::NameError) { capture_io { generate(:controller, "wrong/name", "--root=#{@apptmp}/sample") } }
+ end
+
it 'should generate controller within existing project' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project") }
assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
assert_match_in_file(/helpers DemoItemsHelper/, @helper_path)
- assert_file_exists("#{@apptmp}/sample_project/app/views/demo_items")
+ assert_dir_exists("#{@apptmp}/sample_project/app/views/demo_items")
assert_file_exists(@controller_test_path)
end
it 'should generate helper within existing project' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
@@ -45,20 +50,20 @@
it 'should generate controller within existing project with weird name' do
capture_io { generate(:project, 'warepedia', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/warepedia") }
assert_match_in_file(/Warepedia::App.controllers :demo_items do/m, "#{@apptmp}/warepedia/app/controllers/demo_items.rb")
assert_match_in_file(/helpers DemoItemsHelper/, "#{@apptmp}/warepedia/app/helpers/demo_items_helper.rb")
- assert_file_exists("#{@apptmp}/warepedia/app/views/demo_items")
+ assert_dir_exists("#{@apptmp}/warepedia/app/views/demo_items")
end
it 'should generate controller in specified app' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
assert_match_in_file(/SampleProject::Subby.controllers :demo_items do/m, @controller_path.gsub('app','subby'))
assert_match_in_file(/helpers DemoItemsHelper/m, "#{@apptmp}/sample_project/subby/helpers/demo_items_helper.rb")
- assert_file_exists("#{@apptmp}/sample_project/subby/views/demo_items")
+ assert_dir_exists("#{@apptmp}/sample_project/subby/views/demo_items")
assert_match_in_file(/describe "\/demo_items" do/m, @controller_test_path.gsub('app','subby'))
assert_match_in_file(/get "\/demo_items"/m, @controller_test_path.gsub('app','subby'))
end
it 'should generate controller with specified layout' do
@@ -102,11 +107,11 @@
it 'should not fail if we do not have test component' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--test=none') }
capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project") }
assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
assert_match_in_file(/helpers DemoItemsHelper/m, "#{@apptmp}/sample_project/app/helpers/demo_items_helper.rb")
- assert_file_exists("#{@apptmp}/sample_project/app/views/demo_items")
+ assert_dir_exists("#{@apptmp}/sample_project/app/views/demo_items")
assert_no_file_exists("#{@apptmp}/sample_project/test")
end
it 'should generate controller test for bacon' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
@@ -198,14 +203,22 @@
assert_match_in_file(/get "\/demo_items"/m, "#{@apptmp}/sample_project/spec/subby/controllers/demo_items_controller_spec.rb")
assert_match_in_file(/get "\/user\/1\/user_items"/m, "#{@apptmp}/sample_project/spec/subby/controllers/user_items_controller_spec.rb")
assert_match_in_file(/Capybara.app = /, "#{@apptmp}/sample_project/features/support/env.rb")
end
+ it "should generate controller test for testunit" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=testunit') }
+ capture_io { generate(:app, 'subby', "-r=#{@apptmp}/sample_project") }
+ capture_io { generate(:controller, 'DemoItems','-a=/subby', "-r=#{@apptmp}/sample_project") }
+ assert_match_in_file(/class DemoItemsControllerTest < Test::Unit::TestCase/m, "#{@apptmp}/sample_project/test/subby/controllers/demo_items_controller_test.rb")
+ end
+
+
it 'should correctly generate file names' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=rspec') }
capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project") }
- assert_file_exists("#{@apptmp}/sample_project/app/views/demo_items")
+ assert_dir_exists("#{@apptmp}/sample_project/app/views/demo_items")
assert_file_exists("#{@apptmp}/sample_project/app/controllers/demo_items.rb")
assert_file_exists("#{@apptmp}/sample_project/app/helpers/demo_items_helper.rb")
assert_file_exists("#{@apptmp}/sample_project/spec/app/controllers/demo_items_controller_spec.rb")
assert_file_exists("#{@apptmp}/sample_project/spec/app/helpers/demo_items_helper_spec.rb")
end
@@ -220,10 +233,10 @@
describe "with 'no-helper' option" do
it 'should not generate helper within existing project' do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=rspec') }
capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '--no-helper') }
- assert_file_exists("#{@apptmp}/sample_project/app/views/demo_items")
+ assert_dir_exists("#{@apptmp}/sample_project/app/views/demo_items")
assert_file_exists("#{@apptmp}/sample_project/app/controllers/demo_items.rb")
assert_file_exists("#{@apptmp}/sample_project/spec/app/controllers/demo_items_controller_spec.rb")
assert_no_file_exists("#{@apptmp}/sample_project/app/helpers/demo_items_helper.rb")
assert_no_file_exists("#{@apptmp}/sample_project/spec/app/helpers/demo_items_helper_spec.rb")
end