Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "#{File.dirname(__FILE__)}/test_helper"
- class AdvancedTest < ActionController::IntegrationTest
- fixtures :people, :rooms
- def test_login_and_speak
- jamis, david = login(:jamis), login(:david)
- room = rooms(:office)
- jamis.enter(room)
- jamis.speak(room, "anybody home?")
- david.enter(room)
- david.speak(room, "hello!")
- end
- private
- module CustomAssertions
- def enter(room)
- # reference a named route, for maximum internal consistency!
- get(room_url(:id => room.id))
- assert(...)
- ...
- end
- def speak(room, message)
- xml_http_request "/say/#{room.id}", :message => message
- assert(...)
- ...
- end
- end
- def login(who)
- open_session do |sess|
- sess.extend(CustomAssertions)
- who = people(who)
- sess.post "/login", :username => who.username,
- :password => who.password
- assert(...)
- end
- end
- end
Add Comment
Please, Sign In to add comment