Thanks, OK I see,
I wanted something like should be done after setting it done But I see that's enough by checking assigns. On 4. Feb, 16:26 h., Brian Hogan <[email protected]> wrote: > No. > > Fixtures are fixed. > > Do this: > > original_homework = homeworks(:one) > xhr :get, :status, :id => original_homework.id, :status => "done" > > changed_homework = assigns(:homework) # get it from the controller's instance > > # now compare original_homework and changed_homework. > > I don't know what you're really trying to test here, but this sounds > like business logic. The controller should pass parameters to a > fully-tested model so your controller tests really should be testing > for how the controller handles "it worked" vs "it didn't work". The > details of what gets set should be covered in a unit test. > > test "it should show a success message when created successfully do > > end > > test "it should show an error message when not created successfully" do > > end > > HTH > -Brian > > On Wed, Feb 4, 2009 at 9:06 AM, zero0x <[email protected]> wrote: > > > Hi, > > > I have a question about testing ... > > > It's controller test ... > > > First I do something like this: > > > xhr :get, :status, :id => homeworks(:one).id, :status => "done" > > > The :status action sets homework's length_done to length. > > > So I do this: > > > assert = homeworks(:one).length == homeworks(:one).length_done > > > But this test doesn't pass, while this one: > > > assert assigns(:homework).length == assigns(:homework).length_done > > > Passes. Why? > > > If I do request - doesn't the object from fixtures get updated? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

