Skip to content

Instantly share code, notes, and snippets.

@jacqui
Created July 8, 2009 17:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jacqui/142993 to your computer and use it in GitHub Desktop.
Save jacqui/142993 to your computer and use it in GitHub Desktop.
1 Factory.define :user do |u|
2 u.username { Faker::Internet.user_name }
3 u.email { Faker::Internet.email }
4 u.time_zone "Eastern Time (US & Canada)"
5 u.password "yourface"
6 u.password_confirmation "yourface"
7 u.password_salt { Authlogic::Random.hex_token }
8 u.crypted_password { |a| Authlogic::CryptoProviders::Sha512.encrypt("yourface" + a.password_salt) }
9 u.persistence_token { Authlogic::Random.hex_token }
10 u.single_access_token { Authlogic::Random.friendly_token }
11 u.perishable_token { Authlogic::Random.friendly_token }
12 u.admin false
13 end
14
15 Factory.define :admin, :class => User do |u|
16 u.admin true
17 end
⚜:~/Code/Eastmedia/mdb (master)$ ./script/console test
Loading test environment (Rails 2.3.2)
>> Factory.attributes_for :admin
=> {:admin=>true}
>> Factory.attributes_for :user
=> {:persistence_token=>"98c58b61939d544d27b0db3bad7c7cd686cbacb7454ef225ac33ee8f19a4357229f0bd886ac9584a72b9bf6945d07fff377e941031d47b50e260178175698735", :crypted_password=>"9d3dccc0548e20782871c8cdc2b550179e2304ded81647b64d9bc5fed25621e635bbae0d60420ea266c63c1439b60d7094585d1ac120762d9140bc6224918d58", :email=>"william@terry.info", :username=>"oda", :single_access_token=>"thZJ0r9VTCeWD9exfKuP", :perishable_token=>"nOy0HxMawfyXkFuBFR4A", :admin=>false, :password_confirmation=>"yourface", :time_zone=>"Eastern Time (US & Canada)", :password=>"yourface", :password_salt=>"c1554ceaad781074d5f3a1d803866d81fad726209c4d4afe55607c90e52999e84d2302b3f83fc783e8dd37d0fe521ce0e357da11a0aaca1cbcd062eaa6fdb8b4"}
> Factory(:admin)
ActiveRecord::RecordInvalid: Validation failed: Password confirmation is too short (minimum is 4 characters), Password is too short (minimum is 4 characters), Email is too short (minimum is 6 characters), Email should look like an email address., Email is too short (minimum is 3 characters), Email should use only letters, numbers, spaces, and .-_@ please.
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/validations.rb:1021:in `save_without_dirty!'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/dirty.rb:87:in `save_without_transactions!'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/transactions.rb:200:in `save!'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/transactions.rb:182:in `transaction'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/transactions.rb:200:in `save!'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/transactions.rb:208:in `rollback_active_record_state!'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/rails/activerecord/lib/active_record/transactions.rb:200:in `save!'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/gems/thoughtbot-factory_girl-1/lib/factory_girl/proxy/create.rb:5:in `result'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/gems/thoughtbot-factory_girl-1/lib/factory_girl/factory.rb:293:in `run'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/gems/thoughtbot-factory_girl-1/lib/factory_girl/factory.rb:237:in `create'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/gems/thoughtbot-factory_girl-1/lib/factory_girl/factory.rb:268:in `send'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/gems/thoughtbot-factory_girl-1/lib/factory_girl/factory.rb:268:in `default_strategy'
from /Users/jacqui/Code/Eastmedia/mdb/vendor/gems/thoughtbot-factory_girl-1/lib/factory_girl.rb:20:in `Factory'
from (irb):4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment