Hello all.
I'm working with rails and came to a situation that i cannot imagine
how to test this.
Given i have an index action that retrieves me a collection of
objects.
But some of them have especific permissions.
My index action act like this:
- retrieve public objects.
- retrieve permission 1 objects.
- retrieve permission 2 objects.
So i have to write 3 tests.
it "should retrieve public objects"
context "permission 1"
it " should retrieve permission 1 objects"
context "permission 2"
it "should retrieve permission 2 objects"
Until here no problems because only conditional tests and method
calls.
But how i would test the "Index.retrieve_objects_from_permission1" ?
supose i have
class Index < ActiveRecord::Base
has_many :permissions
def self.retrieve_objects_from_permission1
Index.all(:conditions => "permissions.id = 1", :include
=> :permissions)
end
def has_permission1
!self.permissions.find_by_id(1).nil?
end
end
My Index.retrieve_objects_from_permission1 would be:
it "should retrieve objects that have permission 1" do
@collection = Index.retrieve_objects_from_permission1
@collection.each do |c|
c.has_permission1.should == true
end
end
Is it right? ( I didn't see it before on other's code, so i don't
think it's right.)
Sorry for my poor english. i hope I have been clear enough.
Thank you :)
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users