Sha256: a10c064391e5da4dc4f0381933ac1a65b691c6af044221b4882af342b5bc6ec6
Contents?: true
Size: 1.74 KB
Versions: 1
Compression:
Stored size: 1.74 KB
Contents
require 'test_helper' module TrackChanges class AuditFilterTest < Test::Unit::TestCase should "accept a single model" do assert TrackChanges::AuditFilter.new(:model) end should "accept multiple models" do assert TrackChanges::AuditFilter.new(:model_a, :model_b) end should "respond to #before" do assert TrackChanges::AuditFilter.new.respond_to?(:before) end should "respond to #after" do assert TrackChanges::AuditFilter.new.respond_to?(:after) end should "create an audit when before and after called" do expected_change_set = {"value" => ["old", "new"]} expected_user = "current user" audit = mock('audit') model = mock('model') model.stubs(:attributes=).returns({}) model.stubs(:changes).returns(expected_change_set) modified_model = mock('modified model') modified_model.stubs(:changed?).returns(false) modified_model.stubs(:attributes).returns({}) modified_model.stubs(:audits).returns(audit) controller = mock('controller') controller.stubs(:instance_variable_get).returns(model, modified_model) controller.stubs(:current_user).returns(expected_user) audit_filter = AuditFilter.new(:model) audit_filter.before(controller) audit.expects(:create!).with(has_entries(:user => expected_user, :change_set => expected_change_set)).returns(true) audit_filter.after(controller) end should "ignore nil models" do controller = mock('controller') controller.expects(:instance_variable_get).returns(nil) audit_filter = AuditFilter.new(:model) assert_nothing_raised do audit_filter.before(controller) audit_filter.after(controller) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
track_changes-0.4.1 | test/track_changes/audit_filter_test.rb |