when does factory girl create objects in db?
        Posted  
        
            by Pavel K.
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Pavel K.
        
        
        
        Published on 2010-04-23T09:08:24Z
        Indexed on 
            2010/04/23
            9:13 UTC
        
        
        Read the original article
        Hit count: 498
        
i am trying to simulate a session using factory girl/shoulda (it worked with fixtures but i am having problems with using factories). i have following factories (user login and email both have 'unique' validations):
Factory.define :user do |u| 
 u.login 'quentin'
 u.email '[email protected]'
end
Factory.define :session_user, :class => Session do |u| 
 u.association :user, :factory => :user
 u.session_id 'session_user'
end
and here's the test
class MessagesControllerTest < ActionController::TestCase
 context "normal user" do
  setup do 
   @request.session[:user_id]=Factory(:user).id
   @request.session[:session_id]=Factory(:session_user).session_id
  end
  should "be able to access new message creation" do
   get :new
   assert_response :success
  end
 end
end
but when i run "rake test:functionals", i get this test result
 1) Error: 
  test: normal user should be able to access new message creation. (MessagesControllerTest):
  ActiveRecord::RecordInvalid: Validation failed: Account name already exists!, Email already exists!
which means that record already exists in db when i am referring to it in test setup. is there something i don't understand here? does factory girl create all factories in db on startup?
rails 2.3.5/shoulda/factory girl
© Stack Overflow or respective owner