mirror of
https://github.com/TracksApp/tracks.git
synced 2026-02-03 06:21:49 +01:00
Added UserController#create to provide RESTful API for the admin user to create a new user in the system. This may be useful for the folks who have generously opened their Tracks installs to others. I have plans to document the RESTful API stuff at some point and write a Ruby wrapper. Created a class method User.get_salt that wraps all calls to the SALT constant so that unit-tests can be always run with the default salt (I was previously needing to modify my environment.rb to run tests). Replaced usages of assert_success in tests with assert_response :success because assert_success is deprecated. git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@313 a4c988fc-2ded-0310-b66e-134b36920a42
47 lines
No EOL
1.5 KiB
Ruby
47 lines
No EOL
1.5 KiB
Ruby
ENV["RAILS_ENV"] = "test"
|
|
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
|
require 'test_help'
|
|
|
|
class User < ActiveRecord::Base
|
|
def self.get_salt
|
|
"change-me"
|
|
end
|
|
end
|
|
|
|
class Test::Unit::TestCase
|
|
# Turn off transactional fixtures if you're working with MyISAM tables in MySQL
|
|
self.use_transactional_fixtures = true
|
|
|
|
# Instantiated fixtures are slow, but give you @david where you otherwise would need people(:david)
|
|
self.use_instantiated_fixtures = false
|
|
|
|
# Add more helper methods to be used by all tests here...
|
|
# Logs in a user and returns the user object found in the session object
|
|
#
|
|
def login(login,password,expiry)
|
|
post :login, {:user_login => login, :user_password => password, :user_noexpiry => expiry}
|
|
assert_not_nil(session['user_id'])
|
|
return User.find(session['user_id'])
|
|
end
|
|
|
|
# Creates a new users with the login and password given
|
|
def create(login,password)
|
|
post :create, :user => {:login => login, :password => password, :password_confirmation => password}
|
|
return User.find_by_login(login)
|
|
end
|
|
|
|
|
|
# Generates a random string of ascii characters (a-z, "1 0")
|
|
# of a given length for testing assignment to fields
|
|
# for validation purposes
|
|
#
|
|
def generate_random_string(length)
|
|
string = ""
|
|
characters = %w(a b c d e f g h i j k l m n o p q r s t u v w z y z 1\ 0)
|
|
length.times do
|
|
pick = characters[rand(26)]
|
|
string << pick
|
|
end
|
|
return string
|
|
end
|
|
end |