On Nov 27, 9:04 am, "sumanth tt" <[EMAIL PROTECTED]>
wrote:
> Hello,
>
> Can somebody help me writing a unit test for existing method of a model.
>
> I am using 2 tables like users, articles and
>
> Method is like
>
> def get_the_user_bought_item(user_id_list)
> users_list = User.find_by_sql(["SELECT * FROM users WHERE id IN (?)",
> user_id_list])
> item_details=Article.find_by_sql(["SELECT * FROM users WHERE bought_by IN
> (?)", user_id_list])
> return user_list, item_details
> end
>
> So i need to write a unit test for this. How that unit test should look
> like?
>
pretty simple really. Setup some preconditions (fixtures, model
instances created as needed, mocks etc...), call the method and assert
that the results are as expected. Try the common case and some edge
cases (eg user_item_list is empty etc...).
Your current implementation is rather low level. That could be
users_list = User.find user_id_list
items = Article.find_all_by_bought_by user_id_list
return users_list, items
Fred
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---