1- # Don't think these are necessary anymore, but leaving for now until all controller tests pass.
1+ # Rewrite test methods to avoid need to repeat :use_route => :cms in EVERY functional test call
2+ # See http://edgeguides.rubyonrails.org/engines.html#testing-an-engine for why this would be necessary.
3+ module EngineControllerHacks
4+ def get ( action , parameters = nil , session = nil , flash = nil )
5+ process_action ( action , parameters , session , flash , "GET" )
6+ end
27
3- #module EngineControllerHacks
4- # def get(action, parameters = nil, session = nil, flash = nil)
5- # process_action(action, parameters, session, flash, "GET")
6- # end
7- #
8- # # Executes a request simulating POST HTTP method and set/volley the response
9- # def post(action, parameters = nil, session = nil, flash = nil)
10- # process_action(action, parameters, session, flash, "POST")
11- # end
12- #
13- # # Executes a request simulating PUT HTTP method and set/volley the response
14- # def put(action, parameters = nil, session = nil, flash = nil)
15- # process_action(action, parameters, session, flash, "PUT")
16- # end
17- #
18- # # Executes a request simulating DELETE HTTP method and set/volley the response
19- # def delete(action, parameters = nil, session = nil, flash = nil)
20- # process_action(action, parameters, session, flash, "DELETE")
21- # end
22- #
23- # private
24- #
25- # def process_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
26- # parameters ||= {}
27- # merge = { :use_route => :cms }
28- # if parameters[:use_route] == false
29- # parameters.delete(:use_route)
30- # merge = {}
31- # end
32- # process(action, parameters.merge!(merge), session, flash, method)
33- # end
34- #end
35- #
36- #ActionController::TestCase.send(:include, EngineControllerHacks)
8+ # Executes a request simulating POST HTTP method and set/volley the response
9+ def post ( action , parameters = nil , session = nil , flash = nil )
10+ process_action ( action , parameters , session , flash , "POST" )
11+ end
12+
13+ # Executes a request simulating PUT HTTP method and set/volley the response
14+ def put ( action , parameters = nil , session = nil , flash = nil )
15+ process_action ( action , parameters , session , flash , "PUT" )
16+ end
17+
18+ # Executes a request simulating DELETE HTTP method and set/volley the response
19+ def delete ( action , parameters = nil , session = nil , flash = nil )
20+ process_action ( action , parameters , session , flash , "DELETE" )
21+ end
22+
23+ private
24+
25+ def process_action ( action , parameters = nil , session = nil , flash = nil , method = "GET" )
26+ parameters ||= { }
27+ merge = { :use_route => :cms }
28+ if parameters [ :use_route ] == false
29+ parameters . delete ( :use_route )
30+ merge = { }
31+ end
32+ process ( action , parameters . merge! ( merge ) , session , flash , method )
33+ end
34+ end
35+
36+ ActionController ::TestCase . send ( :include , EngineControllerHacks )
0 commit comments