Index: test/acceptance/rails_has_many_find_acceptance_test.rb =================================================================== --- test/acceptance/rails_has_many_find_acceptance_test.rb (revision 0) +++ test/acceptance/rails_has_many_find_acceptance_test.rb (revision 0) @@ -0,0 +1,51 @@ +require File.join(File.dirname(__FILE__), "..", "test_helper") +require 'mocha' +require 'test_runner' +require "rubygems" +require 'active_record' + +ActiveRecord::Base.establish_connection( + :adapter => "sqlite", + :database => File.dirname(__FILE__) + "/../fixtures/rails_has_many_find_acceptance_test.db" +) + +class House < ActiveRecord::Base + has_many :rooms +end + +class Room < ActiveRecord::Base +end + +class RailsHasManyFindAcceptanceTest < Test::Unit::TestCase + + include TestRunner + + def test_find_stubbed_on_the_association_should_work + test_result = run_test do + house, room = House.new, Room.new + house.rooms.stubs(:find).with(6).returns(room) + assert_equal room, house.rooms.find(6) + end + assert_passed(test_result) + end + + def test_find_stubbed_on_the_association_should_work_if_the_association_is_stubbed + test_result = run_test do + house, room = House.new, Room.new + house.stubs(:rooms).returns(stub_everything) + house.rooms.stubs(:find).with(6).returns(room) + assert_equal room, house.rooms.find(6) + end + assert_passed(test_result) + end + + def test_stubbing_something_other_than_find_on_the_association_should_work + test_result = run_test do + house, room = House.new, Room.new + house.rooms.stubs(:foo).returns("bar") + assert_equal "bar", house.rooms.foo + end + assert_passed(test_result) + end + +end Index: test/fixtures/rails_has_many_find_acceptance_test.db =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: test/fixtures/rails_has_many_find_acceptance_test.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream