old_test/factories.rb
# When you make a factory, make a corresponding create_new_xxxxx tasks which
# checks if it exists (if nessessary) and return existing one if so, or make
# a new one, assert it's a kind_of class we want, and return that
#
# Do not make the following factories
# (because they are cached, so make sure you run through them via click/fill_in etc)
#
# Topic (makes homepage and topic show page caches)
#
#
# Basket Factory
#
Factory.define :basket do |b|
b.name 'Test Basket'
b.status 'approved'
b.creator_id 1
end
def create_new_basket(options)
@basket = Basket.find_by_name(options[:name])
return @basket unless @basket.nil?
@basket = Factory(:basket, options)
assert_kind_of Basket, @basket
@basket
end
#
# User Factory
#
Factory.define :user do |u|
u.login 'joe'
u.email { |e| "#{e.login}@ketetest.co.nz".downcase }
u.salt '7e3041ebc2fc05a40c60028e2c4901a81035d3cd'
u.crypted_password '00742970dc9e6319f8019fd54864d3ea740f04b1' # test
u.created_at Time.now.to_s(:db)
u.updated_at Time.now.to_s(:db)
u.activation_code 'admincode'
u.activated_at Time.now.to_s(:db)
u.agree_to_terms '1'
u.security_code "a"
u.locale "en"
end
# this shouldn't be called directly, use the method missing functionality to add users on the fly
# add_bob_as_tech_admin(:baskets => @@site_basket)
def create_new_user(options)
@user = User.find_by_login(options[:login])
return @user unless @user.nil?
@user = Factory(:user, options)
assert_kind_of User, @user
@user
end
#
# Extended Field
#
Factory.define :extended_field do |ef|
ef.label 'A bit of data'
ef.description 'a description of the field for admins'
end
def create_extended_field(options)
@extended_field = ExtendedField.find_by_label(options[:label])
return @extended_field unless @extended_field.nil?
@extended_field = Factory(:extended_field, options)
assert_kind_of ExtendedField, @extended_field
@extended_field
end
#
# Profiles
#
Factory.define :profile do |p|
p.name 'Test Profile'
p.rules({ 'edit' => { 'rule_type' => 'none' } })
end
#
# Topic
#
Factory.define :topic do |t|
t.title 'Topic'
t.topic_type_id 1
t.basket_id 1
end
#
# Still Image
#
Factory.define :still_image do |si|
si.title 'Still Image'
si.basket_id 1
end
#
# Image File
#
Factory.define :image_file do |img|
img.uploaded_data upload_fixture_file('white.jpg', 'image/jpeg')
img.association :still_image
end
#
# Audio Recording
#
Factory.define :audio_recording do |ar|
ar.title 'Audio Recording'
ar.basket_id 1
ar.uploaded_data upload_fixture_file('Sin1000Hz.mp3', 'audio/mpeg')
end
#
# Video
#
Factory.define :video do |v|
v.title 'Video'
v.basket_id 1
v.uploaded_data upload_fixture_file('teststrip.mpg', 'video/mpeg')
end
#
# Document
#
Factory.define :document do |d|
d.title 'Document'
d.basket_id 1
d.uploaded_data upload_fixture_file('test.pdf', 'application/pdf')
end
#
# Web Links
#
Factory.define :web_link do |w|
w.title 'Web Link'
w.sequence(:url) { |n| "http://google.co.nz/#{rand}" }
w.basket_id 1
end