Commit 1e7dd760881e03ef91bf3bd565f2874344c44fbb
1 parent
69526673
Exists in
master
and in
22 other branches
ActionItem243: added test to specify how the search inside a category should function for profiles
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1601 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
68 additions
and
7 deletions
Show diff stats
test/functional/category_controller_test.rb
| @@ -50,4 +50,9 @@ class CategoryControllerTest < Test::Unit::TestCase | @@ -50,4 +50,9 @@ class CategoryControllerTest < Test::Unit::TestCase | ||
| 50 | assert_same most_commented, assigns(:most_commented_articles) | 50 | assert_same most_commented, assigns(:most_commented_articles) |
| 51 | end | 51 | end |
| 52 | 52 | ||
| 53 | + should 'display category of products' do | ||
| 54 | + cat = ProductCategory.create!(:name => 'Food', :environment => Environment.default) | ||
| 55 | + get :view, :category_path => cat.path.split('/') | ||
| 56 | + end | ||
| 57 | + | ||
| 53 | end | 58 | end |
test/functional/profile_editor_controller_test.rb
| @@ -73,4 +73,13 @@ class ProfileEditorControllerTest < Test::Unit::TestCase | @@ -73,4 +73,13 @@ class ProfileEditorControllerTest < Test::Unit::TestCase | ||
| 73 | get :index, :profile => 'test_user' | 73 | get :index, :profile => 'test_user' |
| 74 | end | 74 | end |
| 75 | 75 | ||
| 76 | + should 'display categories to choose to associate profile' do | ||
| 77 | + cat = Environment.default.categories.build(:name => 'a category'); cat.save! | ||
| 78 | + person = create_user('test_user').person | ||
| 79 | + get :edit, :profile => 'test_user' | ||
| 80 | + assert_tag :tag => 'input', :attributes => {:name => 'profile[category_ids][]'} | ||
| 81 | + end | ||
| 82 | + | ||
| 83 | + should 'save categorization of profile' | ||
| 84 | + | ||
| 76 | end | 85 | end |
test/functional/search_controller_test.rb
| @@ -61,6 +61,9 @@ class SearchControllerTest < Test::Unit::TestCase | @@ -61,6 +61,9 @@ class SearchControllerTest < Test::Unit::TestCase | ||
| 61 | assert_includes assigns(:results)[:articles], art1 | 61 | assert_includes assigns(:results)[:articles], art1 |
| 62 | assert_not_includes assigns(:results)[:articles], art2 | 62 | assert_not_includes assigns(:results)[:articles], art2 |
| 63 | end | 63 | end |
| 64 | + | ||
| 65 | + # 'assets' menu | ||
| 66 | + should 'list articles in a specific category' | ||
| 64 | 67 | ||
| 65 | should 'search in comments' do | 68 | should 'search in comments' do |
| 66 | person = create_user('teste').person | 69 | person = create_user('teste').person |
| @@ -71,7 +74,25 @@ class SearchControllerTest < Test::Unit::TestCase | @@ -71,7 +74,25 @@ class SearchControllerTest < Test::Unit::TestCase | ||
| 71 | assert_includes assigns(:results)[:comments], comment | 74 | assert_includes assigns(:results)[:comments], comment |
| 72 | end | 75 | end |
| 73 | 76 | ||
| 74 | - should 'search in comments in a specific category' | 77 | + should 'search in comments in a specific category' do |
| 78 | + person = create_user('teste').person | ||
| 79 | + category = Category.create!(:name => 'my category', :environment => Environment.default) | ||
| 80 | + | ||
| 81 | + # in category | ||
| 82 | + art1 = person.articles.build(:name => 'an article to be found') | ||
| 83 | + art1.categories << category | ||
| 84 | + art1.save! | ||
| 85 | + comment1 = art1.comments.build(:title => 'comment to be found', :body => 'hfyfyh', :author => person); comment1.save! | ||
| 86 | + | ||
| 87 | + # not in category | ||
| 88 | + art2 = person.articles.build(:name => 'another article to be found') | ||
| 89 | + art2.save! | ||
| 90 | + comment2 = art2.comments.build(:title => 'comment to be found', :body => 'hfyfyh', :author => person); comment2.save! | ||
| 91 | + get 'filter', :category_path => ['my-category'], :query => 'found', :find_in => [ 'comments' ] | ||
| 92 | + | ||
| 93 | + assert_includes assigns(:results)[:comments], comment1 | ||
| 94 | + assert_not_includes assigns(:results)[:comments], comment2 | ||
| 95 | + end | ||
| 75 | 96 | ||
| 76 | 97 | ||
| 77 | should 'find in environment' do | 98 | should 'find in environment' do |
| @@ -88,15 +109,44 @@ class SearchControllerTest < Test::Unit::TestCase | @@ -88,15 +109,44 @@ class SearchControllerTest < Test::Unit::TestCase | ||
| 88 | assert_same articles, finder.articles | 109 | assert_same articles, finder.articles |
| 89 | end | 110 | end |
| 90 | 111 | ||
| 91 | - should 'find people' | ||
| 92 | - should 'find communities' | ||
| 93 | - | ||
| 94 | should 'find enterprises' do | 112 | should 'find enterprises' do |
| 95 | ent = Enterprise.create!(:name => 'teste', :identifier => 'teste') | 113 | ent = Enterprise.create!(:name => 'teste', :identifier => 'teste') |
| 96 | get 'index', :query => 'teste' | 114 | get 'index', :query => 'teste' |
| 97 | assert_includes assigns(:results)[:enterprises], ent | 115 | assert_includes assigns(:results)[:enterprises], ent |
| 98 | end | 116 | end |
| 117 | + | ||
| 118 | + should 'find enterprises in a specified category' do | ||
| 119 | + category = Category.create!(:name => 'my category', :environment => Environment.default) | ||
| 120 | + | ||
| 121 | + # in category | ||
| 122 | + ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test1', :categories => [category]) | ||
| 123 | + | ||
| 124 | + # not in category | ||
| 125 | + ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'test1') | ||
| 126 | + | ||
| 127 | + get :filter, :category_path => [ 'my-category' ], :query => 'test', :find_in => [ 'enterprises' ] | ||
| 128 | + | ||
| 129 | + assert_includes ent1, assigns(:results)[:enterprises] | ||
| 130 | + assert_not_includes ent2, assigns(:results)[:enterprises] | ||
| 131 | + end | ||
| 132 | + | ||
| 133 | + # 'assets' menu | ||
| 134 | + should 'list enterprises in a specified category' | ||
| 135 | + | ||
| 136 | + should 'find people' | ||
| 137 | + should 'find people in a specific category' | ||
| 138 | + | ||
| 139 | + # 'assets' menu | ||
| 140 | + should 'list people in a specified category' | ||
| 141 | + | ||
| 142 | + should 'find communities' | ||
| 143 | + should 'find communities in a specified category' | ||
| 144 | + # 'assets' menu | ||
| 145 | + should 'list communities in a specified category' | ||
| 99 | 146 | ||
| 100 | should 'find products' | 147 | should 'find products' |
| 148 | + should 'find products in a specific category' | ||
| 149 | + # 'assets' menu | ||
| 150 | + should 'list products in a specific category' | ||
| 101 | 151 | ||
| 102 | end | 152 | end |
test/unit/category_test.rb
| @@ -229,7 +229,6 @@ class CategoryTest < Test::Unit::TestCase | @@ -229,7 +229,6 @@ class CategoryTest < Test::Unit::TestCase | ||
| 229 | assert_equivalent [a1, a2], c.recent_articles | 229 | assert_equivalent [a1, a2], c.recent_articles |
| 230 | end | 230 | end |
| 231 | 231 | ||
| 232 | - | ||
| 233 | should 'list recent comments' do | 232 | should 'list recent comments' do |
| 234 | c = @env.categories.build(:name => 'my category'); c.save! | 233 | c = @env.categories.build(:name => 'my category'); c.save! |
| 235 | person = create_user('testuser').person | 234 | person = create_user('testuser').person |
| @@ -261,9 +260,7 @@ class CategoryTest < Test::Unit::TestCase | @@ -261,9 +260,7 @@ class CategoryTest < Test::Unit::TestCase | ||
| 261 | 10.times { a3.comments.build(:title => 'test', :body => 'kajsdsa', :author => person).save! } | 260 | 10.times { a3.comments.build(:title => 'test', :body => 'kajsdsa', :author => person).save! } |
| 262 | 261 | ||
| 263 | assert_equal [a3, a2], c.most_commented_articles(2) | 262 | assert_equal [a3, a2], c.most_commented_articles(2) |
| 264 | - | ||
| 265 | end | 263 | end |
| 266 | - | ||
| 267 | should 'have comments' do | 264 | should 'have comments' do |
| 268 | c = @env.categories.build(:name => 'my category'); c.save! | 265 | c = @env.categories.build(:name => 'my category'); c.save! |
| 269 | person = create_user('testuser').person | 266 | person = create_user('testuser').person |