view test/functional/auth_sources_controller_test.rb @ 1082:997f6d7738f7 bug_531

In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 22 Nov 2012 18:04:17 +0000
parents cbb26bc654de
children 433d4f72a19b
line wrap: on
line source
require File.expand_path('../../test_helper', __FILE__)

class AuthSourcesControllerTest < ActionController::TestCase

  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