X-Git-Url: https://irasnyder.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Ffunctional%2Fvideo_policy_controller_test.rb;fp=test%2Ffunctional%2Fvideo_policy_controller_test.rb;h=57b1550c2a0b4287035b00d9b410288668cbb45a;hb=01114330b962728805d3c43f2f1a1423f2bd66b3;hp=0000000000000000000000000000000000000000;hpb=09ddd1ef5546ec679c832c7cefb93f00125c96c6;p=cs356-p2-videostore.git diff --git a/test/functional/video_policy_controller_test.rb b/test/functional/video_policy_controller_test.rb new file mode 100644 index 0000000..57b1550 --- /dev/null +++ b/test/functional/video_policy_controller_test.rb @@ -0,0 +1,92 @@ +require File.dirname(__FILE__) + '/../test_helper' +require 'video_policy_controller' + +# Re-raise errors caught by the controller. +class VideoPolicyController; def rescue_action(e) raise e end; end + +class VideoPolicyControllerTest < Test::Unit::TestCase + fixtures :video_policies + + def setup + @controller = VideoPolicyController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + + @first_id = video_policies(:first).id + end + + def test_index + get :index + assert_response :success + assert_template 'list' + end + + def test_list + get :list + + assert_response :success + assert_template 'list' + + assert_not_nil assigns(:video_policies) + end + + def test_show + get :show, :id => @first_id + + assert_response :success + assert_template 'show' + + assert_not_nil assigns(:video_policy) + assert assigns(:video_policy).valid? + end + + def test_new + get :new + + assert_response :success + assert_template 'new' + + assert_not_nil assigns(:video_policy) + end + + def test_create + num_video_policies = VideoPolicy.count + + post :create, :video_policy => {} + + assert_response :redirect + assert_redirected_to :action => 'list' + + assert_equal num_video_policies + 1, VideoPolicy.count + end + + def test_edit + get :edit, :id => @first_id + + assert_response :success + assert_template 'edit' + + assert_not_nil assigns(:video_policy) + assert assigns(:video_policy).valid? + end + + def test_update + post :update, :id => @first_id + assert_response :redirect + assert_redirected_to :action => 'show', :id => @first_id + end + + def test_destroy + assert_nothing_raised { + VideoPolicy.find(@first_id) + } + + post :destroy, :id => @first_id + assert_response :redirect + assert_redirected_to :action => 'list' + + assert_raise(ActiveRecord::RecordNotFound) { + VideoPolicy.find(@first_id) + } + end +end