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
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
But how i would test the “Index.retrieve_objects_from_permission1” ?
supose i have
class Index < ActiveRecord::Base
Index.all(:conditions => “permissions.id = 1”, :include
def has_permission1 !self.permissions.find_by_id(1).nil? 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
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.