From bb5da52eddea74a3d6720243a98ee5fdd3d304bf Mon Sep 17 00:00:00 2001 From: Leandro Nunes dos Santos Date: Fri, 2 Aug 2013 12:11:13 -0300 Subject: [PATCH] Rails3: Fix ProfileCategorizationTest unit tests --- app/models/category.rb | 2 ++ app/models/environment.rb | 2 ++ test/unit/profile_categorization_test.rb | 28 +++++++++++++++++++--------- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/app/models/category.rb b/app/models/category.rb index 4a27e67..6a28cfa 100644 --- a/app/models/category.rb +++ b/app/models/category.rb @@ -1,5 +1,7 @@ class Category < ActiveRecord::Base + attr_accessible :name, :parent_id + SEARCHABLE_FIELDS = { :name => 10, :acronym => 5, diff --git a/app/models/environment.rb b/app/models/environment.rb index c785611..3f9300d 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -183,6 +183,8 @@ class Environment < ActiveRecord::Base has_many :product_categories, :conditions => { :type => 'ProductCategory'} has_many :regions + has_many :states + has_many :cities has_many :roles diff --git a/test/unit/profile_categorization_test.rb b/test/unit/profile_categorization_test.rb index a4e5ac1..de7cba1 100644 --- a/test/unit/profile_categorization_test.rb +++ b/test/unit/profile_categorization_test.rb @@ -13,8 +13,10 @@ class ProfileCategorizationTest < ActiveSupport::TestCase end should 'create instances for the entire hierarchy' do - c1 = Category.create!(:name => 'c1', :environment => Environment.default) - c2 = c1.children.create!(:name => 'c2', :environment => Environment.default) + c1 = Environment.default.categories.create!(:name => 'c1') + c2 = Environment.default.categories.create!(:name => 'c2').tap do |c| + c.parent_id = c1.id + end p = create_user('testuser').person @@ -26,9 +28,13 @@ class ProfileCategorizationTest < ActiveSupport::TestCase end should 'not duplicate entry for category that is parent of two others' do - c1 = Category.create!(:name => 'c1', :environment => Environment.default) - c2 = c1.children.create!(:name => 'c2', :environment => Environment.default) - c3 = c1.children.create!(:name => 'c3', :environment => Environment.default) + c1 = Environment.default.categories.create!(:name => 'c1') + c2 = Environment.default.categories.create!(:name => 'c2').tap do |c| + c.parent_id = c1.id + end + c3 = Environment.default.categories.create!(:name => 'c3').tap do |c| + c.parent_id = c1.id + end p = create_user('testuser').person @@ -39,9 +45,13 @@ class ProfileCategorizationTest < ActiveSupport::TestCase end should 'remove all instances for a given profile' do - c1 = Category.create!(:name => 'c1', :environment => Environment.default) - c2 = c1.children.create!(:name => 'c2', :environment => Environment.default) - c3 = c1.children.create!(:name => 'c3', :environment => Environment.default) + c1 = Environment.default.categories.create!(:name => 'c1') + c2 = Environment.default.categories.create!(:name => 'c2').tap do |c| + c.parent_id = c1.id + end + c3 = Environment.default.categories.create!(:name => 'c3').tap do |c| + c.parent_id = c1.id + end p = create_user('testuser').person @@ -55,7 +65,7 @@ class ProfileCategorizationTest < ActiveSupport::TestCase [ Region, State, City ].each do |klass| should "be able to remove #{klass.name} from profile" do - region = klass.create!(:name => 'my region', :environment => Environment.default) + region = Environment.default.send(klass.name.underscore.pluralize).create!(:name => 'my region') p = create_user('testuser').person p.region = region p.save! -- libgit2 0.21.2