rake task to generate user fixtures, helper method which saves them

This commit is contained in:
Raphael 2010-10-29 14:29:02 -07:00
parent 3d2dd073ea
commit 0c434ff66a
2 changed files with 40 additions and 6 deletions

View file

@ -7,15 +7,19 @@
# http://railscasts.com/episodes/158-factories-not-fixtures
#This inclsion, because gpg-agent(not needed) is never run and hence never sets any env. variables on a MAC
def r_str
ActiveSupport::SecureRandom.hex(3)
end
Factory.define :profile do |p|
p.sequence(:first_name){|n| "Robert#{n}"}
p.sequence(:last_name){|n| "Grimm#{n}"}
p.sequence(:first_name){|n| "Robert#{n}#{r_str}"}
p.sequence(:last_name){|n| "Grimm#{n}#{r_str}"}
end
Factory.define :person do |p|
p.sequence(:diaspora_handle) {|n| "bob-person-#{n}@aol.com"}
p.sequence(:url) {|n| "http://google-#{n}.com/"}
p.sequence(:diaspora_handle) {|n| "bob-person-#{n}#{r_str}@aol.com"}
p.sequence(:url) {|n| "http://google-#{n}#{r_str}.com/"}
p.profile Factory.create(:profile, :first_name => "eugene", :last_name => "weinstien")
p.serialized_public_key OpenSSL::PKey::RSA.generate(1024).public_key.export
@ -27,8 +31,8 @@ Factory.define :album do |p|
end
Factory.define :user do |u|
u.sequence(:username) {|n| "bob#{n}"}
u.sequence(:email) {|n| "bob#{n}@pivotallabs.com"}
u.sequence(:username) {|n| "bob#{n}#{r_str}"}
u.sequence(:email) {|n| "bob#{n}#{r_str}@pivotallabs.com"}
u.password "bluepin7"
u.password_confirmation "bluepin7"
u.serialized_private_key OpenSSL::PKey::RSA.generate(1024).export

View file

@ -82,4 +82,34 @@ module HelperMethods
def evan_hcard
File.open(File.dirname(__FILE__) + '/fixtures/evan_hcard').read
end
def build_user_fixtures
arr = []
10.times do
user = Factory :user
person = user.person
arr << { :user => user.to_mongo, :person => person.to_mongo}
end
arr
end
def regenerate_user_fixtures
users = {:users => build_user_fixtures}
File.open(File.join(Rails.root,"spec/fixtures/users.yaml"),'w') do |file|
file.write(users.to_yaml)
end
end
def save_user_fixtures
yaml_users = YAML.load_file(File.join(Rails.root,"spec/fixtures/users.yaml"))
db = MongoMapper.database
people = db.collection("people")
users = db.collection("users")
yaml_users[:users].each do |yaml_user|
user = yaml_user[:user]
person = yaml_user[:person]
users.insert(user)
people.insert(person)
end
end
end