I figured out that I needed to change how I was testing my scope. 
Another forum site had this post by a guy named Ian (thanks Ian).

>> Ideally your unit tests should treat models (classes) and instances thereof 
>> as 
black boxes. After all, it's not really the implementation you care about but 
the 
behavior of the interface.

>> So instead of testing that the scope is implemented in a particular way 
>> (i.e. 
with a particular set of conditions), try testing that it behaves 
correctly—that 
it returns instances it should and doesn't return instances it shouldn't.
----

This led me to believe I needed to change to testing the behavior not 
the stucture.  I kept my scope the same but changed my test to the 
following.  It works, is a good test of the data tested and the results 
expected.  In the test, I create an array of the instructor's name and 
netid and compare that to an array of the name and netid returned by my 
scope.

require 'test_helper'
class ClassInstructorTest < ActiveSupport::TestCase
  test "named_scope :find_instructor_for_a_course returns name and 
netid" do
    expected = ['HOLLIS', 'rbh25']
    assert_equal expected, 
[ClassInstructor.find_instructor_for_a_course('HA5503', 'F10', 'LEC', 
1).first.instr_id,
                            
ClassInstructor.find_instructor_for_a_course('HA5503', 
'F10', 'LEC', 1).first.netid]
   end
end

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to