require File.dirname(__FILE__) + '/../test_helper' require 'changesets_controller' # Re-raise errors caught by the controller. class ChangesetsController; def rescue_action(e) raise e end; end class ChangesetsControllerTest < Test::Unit::TestCase fixtures :projects, :users, :groups, :groups_projects, :groups_users, :changesets, :changes def setup RetroCM.reload @controller = ChangesetsController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new end def test_index unless testing_repository_active? skipped_test_warning return false end get :index assert_response :redirect assert_redirected_to(:controller => 'changesets', :action => 'changesets') end def test_changesets unless testing_repository_active? skipped_test_warning return false end get :changesets assert_response :success assert_template 'changesets/changesets' assert_select 'body .changesets h2', 6 assert_valid_markup get :changesets, :page => '3' assert_response :success assert_template 'changesets/changesets' assert_select 'body .changesets h2', 6 assert_valid_markup get :changesets, :page => '-999' assert_response :success assert_template 'changesets/changesets' assert_select 'body .changesets h2', 6 assert_valid_markup end def test_changeset unless testing_repository_active? skipped_test_warning return false end get :changeset assert_response :redirect assert_redirected_to(:controller => 'changesets', :action => 'changesets') get :changeset, :revision => 99 assert_response :redirect assert_redirected_to(:controller => 'changesets', :action => 'changesets') get :changeset, :revision => 5 assert_response :success assert_template 'changesets/changeset' assert_valid_markup assert_select "ul.changes>li", 2 assert_select "div.diff", 0 get :changeset, :revision => 1 assert_response :success assert_template 'changesets/changeset' assert_valid_markup assert_select "ul.changes>li", 30 assert_select "div.diff", 0 get :changeset, :revision => 4 assert_response :success assert_template 'changesets/changeset' assert_valid_markup assert_select "ul.changes>li", 2 assert_select "table.ln-code", 2 User.current.groups.each do |g| g.permissions = (g.permissions - ['browse_code']) assert(g.save) end User.current.send(:instance_variable_set, :@permissions, nil) get :changeset, :revision => 4 assert_response :success assert_template 'changesets/changeset' assert_valid_markup assert_select "ul.changes>li", 0 assert_select "div.diff", 0 end end