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:
"[email protected]", 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:
"[email protected]", 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:
"[email protected]", password: "UkZaHWcy", password_confirmation:
"UkZaHWcy")
> user = FactoryGirl.build(:user, subdomain_id: @coocoo[:id], email:
"[email protected]", 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
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-talk/-/UqU8HJOSg0AJ.
For more options, visit https://groups.google.com/groups/opt_out.