Guest User

Untitled

a guest
Mar 2nd, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. require "#{File.dirname(__FILE__)}/test_helper"
  2.  
  3. class AdvancedTest < ActionController::IntegrationTest
  4. fixtures :people, :rooms
  5.  
  6. def test_login_and_speak
  7. jamis, david = login(:jamis), login(:david)
  8. room = rooms(:office)
  9.  
  10. jamis.enter(room)
  11. jamis.speak(room, "anybody home?")
  12.  
  13. david.enter(room)
  14. david.speak(room, "hello!")
  15. end
  16.  
  17. private
  18.  
  19. module CustomAssertions
  20. def enter(room)
  21. # reference a named route, for maximum internal consistency!
  22. get(room_url(:id => room.id))
  23. assert(...)
  24. ...
  25. end
  26.  
  27. def speak(room, message)
  28. xml_http_request "/say/#{room.id}", :message => message
  29. assert(...)
  30. ...
  31. end
  32. end
  33.  
  34. def login(who)
  35. open_session do |sess|
  36. sess.extend(CustomAssertions)
  37. who = people(who)
  38. sess.post "/login", :username => who.username,
  39. :password => who.password
  40. assert(...)
  41. end
  42. end
  43. end
Add Comment
Please, Sign In to add comment