Guest User

Untitled

a guest
Mar 1st, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. ENV["RAILS_ENV"] = "test"
  2. require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
  3. require 'shoulda'
  4. require 'webrat'
  5. require 'factory_girl'
  6. require 'test/factories/clearance'
  7. require 'clearance/../../shoulda_macros/clearance'
  8. require 'cucumber/rails/world'
  9. Cucumber::Rails.use_transactional_fixtures
  10.  
  11. Webrat.configure do |config|
  12. config.mode = :rails
  13. end
  14.  
  15. module CucumberWorldExtension
  16. # This may be overkill, but it cleans everything up nicely. If you wanted to
  17. # You could just use specific fixtures in tests. You could even stub the
  18. # fixtures method in your world
  19. #
  20. # def fixtures(*args)
  21. # Test::Unit::TestCase.fixtures args
  22. # end
  23. #
  24. Test::Unit::TestCase.fixtures :all
  25.  
  26. def login_user(email, password)
  27. post "/login", {:session => { :email => email, :password => password }}
  28. @user = @controller.current_user
  29. end
  30.  
  31. def logout_user
  32. get "/logout"
  33. @user = nil
  34. end
  35.  
  36. # This is pretty dangerous because you really have to make sure you have a
  37. # user to use this properly maintaining an instance variable across steps can
  38. # sometimes lead to very brittle steps
  39. def me
  40. @user
  41. end
  42.  
  43. end
  44.  
  45. World do |world|
  46. world.extend(CucumberWorldExtension)
  47. world
  48. end
Add Comment
Please, Sign In to add comment