Commit d8b52907245fe8b50b66249c7dc3af81fea60abb
1 parent
fe26291a
Exists in
master
and in
29 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 | ... | ... |