I am wondering what is the best way to mock such expression: "comment.initiator.group.name" What I do now is: =========================== comment = mock_model(Comment) initiator = mock_model(User) group = mock_model(Group, :name => "Admin") initiator.stub!(:group).and_return(group) comment.stub!(:initiator).and_return(initiator) =========================== So it becomes quite complex when the length of the expression increases. Is it possible to do something like this: controller.stub!(:comment.initiator.group.name).and_return("Admin")? Thank you in advance!
on 2009-02-25 12:15
on 2009-02-25 12:43
On Wed, Feb 25, 2009 at 2:13 AM, Evgeny Bogdanov <email@example.com> wrote: > comment.stub!(:initiator).and_return(initiator) > firstname.lastname@example.org > http://rubyforge.org/mailman/listinfo/rspec-users > Fix the trainwreck. An unimaginative solution would be comment.initiator_group_name. Try to find an intention- rather than structure-revealing name. Pat
on 2009-02-26 00:13
Thanks a lot! Got an idea!