diff --git a/test/functional/events_controller_test.rb b/test/functional/events_controller_test.rb index d12fa9c..0183477 100644 --- a/test/functional/events_controller_test.rb +++ b/test/functional/events_controller_test.rb @@ -14,49 +14,48 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -#require File.dirname(__FILE__) + '/../test_helper' -#require 'events_controller' -# -## Re-raise errors caught by the controller. -#class EventsController; def rescue_action(e) raise e end; end -# -#class EventsControllerTest < ActionController::TestCase -# -# def setup -# @controller = EventsController.new -# @request = ActionController::TestRequest.new -# @response = ActionController::TestResponse.new -# @course = Course.find(:first) -# @event = @course.events.find(:first) -# end -# -# # REST - usuários autenticados -# #context "A user" do -# # setup { login_as :bob } -# # should_be_restful do |resource| -# # resource.parent = [ :course ] -# # resource.create.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } -# # resource.update.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } -# -# # end -# #end -# -# ## REST - usuários quaisquer -# #context "A stranger" do -# # setup { logout } -# # should_be_restful do |resource| -# # resource.parent = [ :course ] -# # resource.create.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } -# # resource.update.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } -# # resource.denied.actions = [ :new, :edit, :create, :update, :destroy ] -# # resource.denied.redirect = "'/login'" -# # resource.denied.flash = /must be logged in/i -# # end -# #end -# -# def test_should_accept_icalendar_on_index -# get :index, :format => 'ics', :course_id => 1 -# assert_formatted_response :ics -# end -#end -# \ No newline at end of file +require File.dirname(__FILE__) + '/../test_helper' +require 'events_controller' + +# Re-raise errors caught by the controller. +class EventsController; def rescue_action(e) raise e end; end + +class EventsControllerTest < ActionController::TestCase + + def setup + @controller = EventsController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + @course = Course.first + @event = @course.events.first + end + + # REST - usuários autenticados + #context "A user" do + # setup { login_as :bob } + # should_be_restful do |resource| + # resource.parent = [ :course ] + # resource.create.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } + # resource.update.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } + + # end + #end + + ## REST - usuários quaisquer + #context "A stranger" do + # setup { logout } + # should_be_restful do |resource| + # resource.parent = [ :course ] + # resource.create.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } + # resource.update.params = { :title => 'test', :time => Time.now, :description => 'test', :created_by => 1 } + # resource.denied.actions = [ :new, :edit, :create, :update, :destroy ] + # resource.denied.redirect = "'/login'" + # resource.denied.flash = /must be logged in/i + # end + #end + + def test_should_accept_icalendar_on_index + get :index, :format => 'ics', :course_id => 1 + assert_formatted_response :ics + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 8cb9646..1fa0485 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -19,6 +19,24 @@ class ActiveSupport::TestCase @request.session[:user_id] = nil @request.env["HTTP_AUTHORIZATION"] = nil end + + def assert_formatted_response(type, element=nil) + assert_response :success + snippet = "Body: #{@response.body.first(100).chomp}..." + case type + when :rss + assert_equal Mime::RSS, @response.content_type, snippet + assert_select "channel", 1, snippet + when :ics + assert_equal Mime::ICS, @response.content_type, snippet + when :text + assert_equal Mime::TEXT, @response.content_type, snippet + when :xml + assert_select element.to_s.dasherize, 1, snippet + else + raise ArgumentError + end + end end class Test::Unit::TestCase