validates_uniqueness_of(*attr_names) w scope not working in unit test

Rails 3.2.8

Very strange , it works in dv mode console , but not in a unit test

class User < ActiveRecord::Base

belongs_to :subdomain

validates_uniqueness_of :email, :scope => :subdomain_id

class UserTest < ActiveSupport::TestCase

def initialize_user

@booboo = FactoryGirl.create(:subdomain, name: “booboo”)

@coocoo = FactoryGirl.create(:subdomain, name: “coocoo”)

FactoryGirl.create(:user, subdomain_id: @booboo[:id], email: “user.doe@acme.com”, password: “UkZaHWcy”, password_confirmation: “UkZaHWcy”)

end

def teardown

User.delete_all

Subdomain.delete_all

end

test “should_save_user_with_duplicated_email_in_another_scoped_subdomain” do

user = FactoryGirl.build(:user, subdomain_id: @coocoo[:id], email: “user.doe@acme.com”, password: “UkZaHWcy”, password_confirmation: “UkZaHWcy”)

assert user.save # failing @messages={:email=>[“has already been taken”]}

end

Now in console

@booboo = FactoryGirl.create(:subdomain, name: “booboo”)

@coocoo = FactoryGirl.create(:subdomain, name: “coocoo”)

FactoryGirl.create(:user, subdomain_id: @booboo[:id], email: "user.doe@acme.com", password: "UkZaHWcy", password_confirmation: "UkZaHWcy")
 user = FactoryGirl.build(:user, subdomain_id: @coocoo[:id], email: "user.doe@acme.com", password: "UkZaHWcy", password_confirmation: "UkZaHWcy")

user.save

COMMIT

=> true

why do the same Model have different behaviors in test mode and dev mode ? any clue ?

thanks for feedback

[SOLVED]

weird environment => weird behaviour

I had a duplicated copy of my User model file still in my models folder … filename was user_copy… but containing a User class def…

I guess running in the console, the first user model file was used , but in unit test , the copy was used …

need a break … tea time ! not tea party !