test/test_controller_generator.rb in padrino-gen-0.11.0 vs test/test_controller_generator.rb in padrino-gen-0.11.1
- old
+ new
@@ -44,11 +44,47 @@
assert_match_in_file(/SampleProject::Subby.helpers do/m, "#{@apptmp}/sample_project/subby/helpers/demo_items_helper.rb")
assert_file_exists("#{@apptmp}/sample_project/subby/views/demo_items")
assert_match_in_file(/describe "DemoItemsController" do/m, @controller_test_path.gsub('app','subby'))
end
- should 'not fail if we don\'t have test component' do
+ should "generate controller with specified layout" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
+ capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-l=xyzlayout') }
+ assert_match_in_file(/layout :xyzlayout/m, @controller_path)
+ end
+
+ should "generate controller without specified layout if empty" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
+ capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-l=') }
+ assert_no_match_in_file(/layout/m, @controller_path)
+ end
+
+ should "generate controller with specified parent" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
+ capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-p=user') }
+ assert_match_in_file(/SampleProject::App.controllers :demo_items, :parent => :user do/m, @controller_path)
+ end
+
+ should "generate controller without specified parent" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
+ capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-p=') }
+ assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
+ end
+
+ should "generate controller with specified providers" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
+ capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-f=:html, :js') }
+ assert_match_in_file(/SampleProject::App.controllers :demo_items, :provides => \[:html, :js\] do/m, @controller_path)
+ end
+
+ should "generate controller without specified providers" do
+ capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=bacon') }
+ capture_io { generate(:controller, 'DemoItems', "-r=#{@apptmp}/sample_project", '-f=') }
+ assert_match_in_file(/SampleProject::App.controllers :demo_items do/m, @controller_path)
+ end
+
+ should "not fail if we don't 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(/SampleProject::App.helpers do/m, "#{@apptmp}/sample_project/app/helpers/demo_items_helper.rb")
assert_file_exists("#{@apptmp}/sample_project/app/views/demo_items")
@@ -123,11 +159,11 @@
# Controller action generation
should "generate actions for get:test post:yada" do
capture_io { generate(:project, 'sample_project', "--root=#{@apptmp}", '--script=none', '-t=shoulda') }
capture_io { generate(:controller, 'demo_items', "get:test", "post:yada","-r=#{@apptmp}/sample_project") }
- assert_match_in_file(/get :test do\n end\n/m, @controller_path)
- assert_match_in_file(/post :yada do\n end\n/m, @controller_path)
+ assert_match_in_file(/get :test do\n\n end\n/m, @controller_path)
+ assert_match_in_file(/post :yada do\n\n end\n/m, @controller_path)
end
end
context "the controller destroy option" do
should "destroy controller files" do