Commit 6a02c97ef9217d3a638c5ae81e8b5ec4b4975816

Authored by Antonio Terceiro
1 parent 411cbf6d

Moving duplicated creation code into factory

This way we can reuse that logic (fast creation with a category and/or
adding a category) in other tests for search functionality.
test/factories.rb
@@ -11,7 +11,20 @@ module Noosfero::Factory @@ -11,7 +11,20 @@ module Noosfero::Factory
11 else 11 else
12 fast_insert(klass, data) 12 fast_insert(klass, data)
13 end 13 end
14 - return klass.last(:order => "id") 14 + obj = klass.last(:order => "id")
  15 + if options[:category]
  16 + categories = options[:category]
  17 + unless categories.is_a?(Array)
  18 + categories = [categories]
  19 + end
  20 + categories.each do |category|
  21 + obj.add_category(category)
  22 + end
  23 + end
  24 + if options[:search]
  25 + obj.ferret_create
  26 + end
  27 + obj
15 end 28 end
16 29
17 def create(name, attrs = {}) 30 def create(name, attrs = {})
test/functional/search_controller_test.rb
@@ -14,17 +14,11 @@ class SearchControllerTest < Test::Unit::TestCase @@ -14,17 +14,11 @@ class SearchControllerTest < Test::Unit::TestCase
14 end 14 end
15 15
16 def create_article_with_optional_category(name, profile, category = nil) 16 def create_article_with_optional_category(name, profile, category = nil)
17 - article = fast_create(Article, :name => name, :profile_id => profile.id)  
18 - article.add_category(category) if category  
19 - article.ferret_create  
20 - article 17 + fast_create(Article, {:name => name, :profile_id => profile.id }, :search => true, :category => category)
21 end 18 end
22 19
23 def create_profile_with_optional_category(klass, name, category = nil, data = {}) 20 def create_profile_with_optional_category(klass, name, category = nil, data = {})
24 - profile = fast_create(klass, { :name => name }.merge(data))  
25 - profile.add_category(category) if category  
26 - profile.ferret_create  
27 - profile 21 + fast_create(klass, { :name => name }.merge(data), :search => true, :category => category)
28 end 22 end
29 23
30 def test_local_files_reference 24 def test_local_files_reference