Renamed helpers to correspond to renamed Controller classes.
[merb_radiant.git] / radiant_specs / spec / scenarios / .svn / text-base / users_scenario.rb.svn-base
blob041188255a469c1163fc41e9551919ff563e1b1e
1 class UsersScenario < Scenario::Base
2   
3   def load
4     create_user "Existing"
5     create_user "Another"
6     create_user "Admin", :admin => true
7     create_user "Developer", :developer => true
8     create_user "Non-admin", :admin => false
9   end
10   
11   helpers do
12     def create_user(name, attributes={})
13       create_record :user, name.symbolize, user_attributes(attributes.update(:name => name))
14     end
15     def user_attributes(attributes={})
16       name = attributes[:name] || "John Doe"
17       symbol = name.symbolize
18       attributes = { 
19         :name => name,
20         :email => "#{symbol}@example.com", 
21         :login => symbol.to_s,
22         :password => "password"
23       }.merge(attributes)
24       attributes[:password] = User.sha1(attributes[:password])
25       attributes
26     end
27     def user_params(attributes={})
28       password = attributes[:password] || "password"
29       user_attributes(attributes).update(:password => password, :password_confirmation => password)
30     end
31     
32     def login_as(user)
33       login_user = user.is_a?(User) ? user : users(user)
34       flunk "Can't login as non-existing user #{user.to_s}." unless login_user
35       request.session['user_id'] = login_user.id
36       login_user
37     end
38   end
39 end