obsolete.ChilliProject/test/functional/auth_sources_controller_test.rb
Holger Just 0b952a1edd [#263] Fix test error on Ruby 1.9
TreeNode#to_s (from the rubytree gem) is broken. It is implicitly called by
Shoulda on 1.9 only. As we don't actually need it, we just remove the method.

The bug is reported at http://rubyforge.org/tracker/index.php?func=detail&aid=29435&group_id=1215&atid=4793
2011-11-26 20:36:56 +01:00

116 lines
3.0 KiB
Ruby

#-- encoding: UTF-8
#-- copyright
# ChiliProject is a project management system.
#
# Copyright (C) 2010-2011 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# See doc/COPYRIGHT.rdoc for more details.
#++
require File.expand_path('../../test_helper', __FILE__)
# Remove to_s on the TreeNode. This would cause an error on Ruby 1.9 as the
# method has a bug preventing it to return strings. It is implicitly called by
# shoulda during an inspect on Ruby 1.9 only. The bug is reported at
# http://rubyforge.org/tracker/index.php?func=detail&aid=29435&group_id=1215&atid=4793
Tree::TreeNode.class_eval {remove_method :to_s}
class AuthSourcesControllerTest < ActionController::TestCase
fixtures :all
def setup
@request.session[:user_id] = 1
end
context "get :index" do
setup do
get :index
end
should_assign_to :auth_sources
should_assign_to :auth_source_pages
should_respond_with :success
should_render_template :index
end
context "get :new" do
setup do
get :new
end
should_assign_to :auth_source
should_respond_with :success
should_render_template :new
should "initilize a new AuthSource" do
assert_equal AuthSource, assigns(:auth_source).class
assert assigns(:auth_source).new_record?
end
end
context "post :create" do
setup do
post :create, :auth_source => {:name => 'Test'}
end
should_respond_with :redirect
should_redirect_to("index") {{:action => 'index'}}
should_set_the_flash_to /success/i
end
context "get :edit" do
setup do
@auth_source = AuthSource.generate!(:name => 'TestEdit')
get :edit, :id => @auth_source.id
end
should_assign_to(:auth_source) {@auth_source}
should_respond_with :success
should_render_template :edit
end
context "post :update" do
setup do
@auth_source = AuthSource.generate!(:name => 'TestEdit')
post :update, :id => @auth_source.id, :auth_source => {:name => 'TestUpdate'}
end
should_respond_with :redirect
should_redirect_to("index") {{:action => 'index'}}
should_set_the_flash_to /update/i
end
context "post :destroy" do
setup do
@auth_source = AuthSource.generate!(:name => 'TestEdit')
end
context "without users" do
setup do
post :destroy, :id => @auth_source.id
end
should_respond_with :redirect
should_redirect_to("index") {{:action => 'index'}}
should_set_the_flash_to /deletion/i
end
context "with users" do
setup do
User.generate!(:auth_source => @auth_source)
post :destroy, :id => @auth_source.id
end
should_respond_with :redirect
should "not destroy the AuthSource" do
assert AuthSource.find(@auth_source.id)
end
end
end
end