Commit d8b52907245fe8b50b66249c7dc3af81fea60abb
1 parent
fe26291a
Exists in
master
and in
28 other branches
ActionItem6: tests broken by the change of the profile ownership association fixed
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@177 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
5 changed files
with
14 additions
and
14 deletions
Show diff stats
app/models/enterprise.rb
| ... | ... | @@ -5,7 +5,7 @@ class Enterprise < ActiveRecord::Base |
| 5 | 5 | enterprise_profile = Profile.create(:identifier => enterprise.name) |
| 6 | 6 | end |
| 7 | 7 | |
| 8 | - has_one :enterprise_profile, :class_name => Profile, :as => :profile_owner | |
| 8 | + has_one :enterprise_profile, :class_name => 'Profile', :as => :profile_owner | |
| 9 | 9 | |
| 10 | 10 | def name=(a_name) |
| 11 | 11 | enterprise_profile.name = a_name | ... | ... |
app/models/profile.rb
| ... | ... | @@ -35,10 +35,10 @@ class Profile < ActiveRecord::Base |
| 35 | 35 | validates_format_of :identifier, :with => IDENTIFIER_FORMAT |
| 36 | 36 | validates_exclusion_of :identifier, :in => RESERVED_IDENTIFIERS |
| 37 | 37 | |
| 38 | - # A user cannot have more than one profile, but many profiles can exist | |
| 38 | + # A profile_owner cannot have more than one profile, but many profiles can exist | |
| 39 | 39 | # without being associated to a particular user. |
| 40 | - validates_uniqueness_of :user_id, :if => (lambda do |profile| | |
| 41 | - ! profile.user_id.nil? | |
| 40 | + validates_uniqueness_of :profile_owner_id, :scope => :profile_owner_type, :if => (lambda do |profile| | |
| 41 | + ! profile.profile_owner_id.nil? | |
| 42 | 42 | end) |
| 43 | 43 | |
| 44 | 44 | # creates a new Profile. By default, it is attached to the default | ... | ... |
app/models/user.rb
| ... | ... | @@ -5,10 +5,10 @@ require 'digest/sha1' |
| 5 | 5 | class User < ActiveRecord::Base |
| 6 | 6 | |
| 7 | 7 | after_create do |user| |
| 8 | - personal_profile = Profile.create!(:identifier => user.login) | |
| 8 | + Profile.create!(:identifier => user.login, :profile_owner_id => user.id, :profile_owner_type => 'User') | |
| 9 | 9 | end |
| 10 | 10 | |
| 11 | - has_one :personal_profile, :class_name => Profile, :as => :profile_owner | |
| 11 | + has_one :personal_profile, :class_name => 'Profile', :as => :profile_owner | |
| 12 | 12 | |
| 13 | 13 | # Virtual attribute for the unencrypted password |
| 14 | 14 | attr_accessor :password | ... | ... |
test/unit/profile_test.rb
| ... | ... | @@ -41,33 +41,33 @@ class ProfileTest < Test::Unit::TestCase |
| 41 | 41 | |
| 42 | 42 | def test_can_have_user |
| 43 | 43 | p = profiles(:johndoe) |
| 44 | - assert_kind_of User, p.user | |
| 44 | + assert_kind_of User, p.profile_owner | |
| 45 | 45 | end |
| 46 | 46 | |
| 47 | 47 | def test_may_have_no_user |
| 48 | 48 | p = profiles(:john_and_joe) |
| 49 | - assert_nil p.user | |
| 49 | + assert_nil p.profile_owner | |
| 50 | 50 | assert p.valid? |
| 51 | 51 | end |
| 52 | 52 | |
| 53 | 53 | def test_only_one_profile_per_user |
| 54 | 54 | p1 = profiles(:johndoe) |
| 55 | - assert_equal users(:johndoe), p1.user | |
| 55 | + assert_equal users(:johndoe), p1.profile_owner | |
| 56 | 56 | |
| 57 | 57 | p2 = Profile.new |
| 58 | - p2.user = users(:johndoe) | |
| 58 | + p2.profile_owner = users(:johndoe) | |
| 59 | 59 | assert !p2.valid? |
| 60 | - assert p2.errors.invalid?(:user_id) | |
| 60 | + assert p2.errors.invalid?(:profile_owner_id) | |
| 61 | 61 | end |
| 62 | 62 | |
| 63 | 63 | def test_several_profiles_without_user |
| 64 | 64 | p1 = profiles(:john_and_joe) |
| 65 | 65 | assert p1.valid? |
| 66 | - assert_nil p1.user | |
| 66 | + assert_nil p1.profile_owner | |
| 67 | 67 | |
| 68 | 68 | p2 = Profile.new |
| 69 | 69 | assert !p2.valid? |
| 70 | - assert !p2.errors.invalid?(:user_id) | |
| 70 | + assert !p2.errors.invalid?(:profile_owner_id) | |
| 71 | 71 | end |
| 72 | 72 | |
| 73 | 73 | def test_cannot_rename | ... | ... |
test/unit/user_test.rb
| ... | ... | @@ -74,7 +74,7 @@ class UserTest < Test::Unit::TestCase |
| 74 | 74 | |
| 75 | 75 | user = User.create!(:login => 'new_user', :email => 'new_user@example.com', :password => 'test', :password_confirmation => 'test') |
| 76 | 76 | |
| 77 | - assert Profile.exists?(['profile_owner_id = ? and profile_owner_type = "User"', user.id]) | |
| 77 | + assert Profile.exists?(['profile_owner_id = ? and profile_owner_type = ?', user.id, 'User']) | |
| 78 | 78 | |
| 79 | 79 | assert_equal users_count + 1, User.count |
| 80 | 80 | assert_equal profiles_count + 1, Profile.count | ... | ... |