Tests for events controller

master
Alinson S. Xavier 10 years ago
parent 65c8cd05e2
commit 02662a0853

@ -14,49 +14,48 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#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
#
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

@ -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