paper-trail-gem--paper_trail/test/paper_trail_controller_test.rb

71 lines
1.6 KiB
Ruby
Raw Normal View History

2009-05-27 15:21:20 +00:00
require File.dirname(__FILE__) + '/test_helper.rb'
2009-11-20 03:15:30 +00:00
class ApplicationController < ActionController::Base
2009-05-27 15:21:20 +00:00
def rescue_action(e)
raise e
end
# Returns id of hypothetical current user
def current_user
153
end
end
class WidgetsController < ApplicationController
def create
@widget = Widget.create params[:widget]
head :ok
end
def update
@widget = Widget.find params[:id]
@widget.update_attributes params[:widget]
head :ok
end
def destroy
@widget = Widget.find params[:id]
@widget.destroy
head :ok
end
end
class PaperTrailControllerTest < ActionController::TestCase #Test::Unit::TestCase
def setup
@controller = WidgetsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
ActionController::Routing::Routes.draw do |map|
map.resources :widgets
end
end
test 'create' do
post :create, :widget => { :name => 'Flugel' }
widget = assigns(:widget)
assert_equal 1, widget.versions.length
assert_equal 153, widget.versions.last.whodunnit.to_i
end
test 'update' do
w = Widget.create :name => 'Duvel'
assert_equal 1, w.versions.length
put :update, :id => w.id, :widget => { :name => 'Bugle' }
widget = assigns(:widget)
assert_equal 2, widget.versions.length
assert_equal 153, widget.versions.last.whodunnit.to_i
end
test 'destroy' do
w = Widget.create :name => 'Roundel'
assert_equal 1, w.versions.length
delete :destroy, :id => w.id
widget = assigns(:widget)
assert_equal 2, widget.versions.length
assert_equal 153, widget.versions.last.whodunnit.to_i
end
end