classUsersControllerTest<Test::Unit::TestCasecontext"on GET to :show"dosetup{get:show,:id=>1}should_assign_to:usershould_respond_with:successshould_render_template:showshould_not_set_the_flashshould"do something else really cool"doassert_equal1,assigns(:user).idendendcontext"on POST to :create"dosetup{post:create,:user=>{:name=>'Ronald',:party=>'Repukeulan'}}should_assign_to:usershould_redirect_to"user_url(@user)"should_set_the_flash_to(/created/i)endend
classPostsControllerTest<Test::Unit::TestCasedefsetup@user=users(:bob)@post=@user.posts.firstendcontext"An administrator"dosetup{login_asusers(:admin)}should_be_restfuldo|resource|resource.create.params={:subject=>"test",:body=>"message"}resource.update.params={:subject=>"changed"}endendcontext"A user"dosetup{login_as@user}should_be_restfuldo|resource|resource.create.params={:subject=>"test",:body=>"message"}resource.update.params={:subject=>"changed"}endendcontext"A stranger"dosetup{login_asusers(:sally)}should_be_restfuldo|resource|resource.create.params={:subject=>"test",:body=>"message"}resource.denied.actions=[:edit,:update,:destroy]resource.denied.redirect="login_url"resource.denied.flash=/only the owner can/iendendcontext"The public"dosetup{logout}should_be_restfuldo|resource|resource.denied.actions=[:new,:create,:edit,:update,:destroy]resource.denied.redirect="signup_url"resource.denied.flash=/must be a member/iendendend
classUsersControllerTest<Test::Unit::TestCasedefsetup@user=User.findendshould_be_restfuldo|resource|resource.create.params={:name=>"Billy Bumbler",:party=>'Sure do!'}resource.update.params={:name=>"Changed"}endcontext"on GET to /users/:id;activate"setup{get:activate,:id=>@user.id}should_render_template:activate# etc.enddeftest_normal_stuffasserttrueendend