Commit 8260f4030791a33d9647067ee147cd025fec3d86
1 parent
d63bddce
Exists in
staging
and in
42 other branches
Fixes for unit tests (after merge)
* A few syntax problems * Removed tests for removed models * Replaced 'browse' with 'search' controller * Created EnterpriseHomepageHelperTest * Fixes to work with Solr
Showing
13 changed files
with
84 additions
and
970 deletions
Show diff stats
test/unit/application_helper_test.rb
| ... | ... | @@ -98,7 +98,7 @@ class ApplicationHelperTest < ActiveSupport::TestCase |
| 98 | 98 | Environment.any_instance.expects(:default_hostname).returns('example.com') |
| 99 | 99 | |
| 100 | 100 | result = "/cat/my-category/my-subcatagory" |
| 101 | - expects(:link_to).with('category name', :controller => 'search', :action => 'category_index', :category_path => ['my-category', 'my-subcatagory'], :host => 'example.com').returns(result) | |
| 101 | + expects(:link_to).with('category name', {:controller => 'search', :action => 'category_index', :category_path => ['my-category', 'my-subcatagory'], :host => 'example.com'}, {}).returns(result) | |
| 102 | 102 | assert_same result, link_to_category(cat) |
| 103 | 103 | end |
| 104 | 104 | ... | ... |
test/unit/category_finder_test.rb
| ... | ... | @@ -1,526 +0,0 @@ |
| 1 | -require File.dirname(__FILE__) + '/../test_helper' | |
| 2 | - | |
| 3 | -class CategoryFinderTest < ActiveSupport::TestCase | |
| 4 | - | |
| 5 | - def setup | |
| 6 | - ActiveSupport::TestCase::setup | |
| 7 | - @category = Category.create!(:name => 'my category', :environment => Environment.default) | |
| 8 | - @finder = CategoryFinder.new(@category) | |
| 9 | - @product_category = fast_create(ProductCategory, :name => 'Products') | |
| 10 | - | |
| 11 | - Profile.rebuild_index | |
| 12 | -# This doesn't exist/never existed; either we remove or implement? | |
| 13 | -# Comment.skip_captcha! | |
| 14 | - end | |
| 15 | - | |
| 16 | - should 'search for articles in a specific category' do | |
| 17 | - person = create_user('teste').person | |
| 18 | - | |
| 19 | - # in category | |
| 20 | - art1 = person.articles.build(:name => 'an article to be found') | |
| 21 | - art1.add_category(@category) | |
| 22 | - art1.save! | |
| 23 | - | |
| 24 | - # not in category | |
| 25 | - art2 = person.articles.build(:name => 'another article to be found') | |
| 26 | - art2.save! | |
| 27 | - | |
| 28 | - list = @finder.find(:articles, 'found') | |
| 29 | - assert_includes list, art1 | |
| 30 | - assert_not_includes list, art2 | |
| 31 | - end | |
| 32 | - | |
| 33 | - should 'search with query for articles in a specific category' do | |
| 34 | - person = create_user('teste').person | |
| 35 | - | |
| 36 | - # in category | |
| 37 | - art1 = person.articles.build(:name => 'an article to be found') | |
| 38 | - art1.add_category(@category) | |
| 39 | - art1.save! | |
| 40 | - | |
| 41 | - # not in category | |
| 42 | - art2 = person.articles.build(:name => 'another article to be found') | |
| 43 | - art2.save! | |
| 44 | - | |
| 45 | - assert_includes @finder.find('articles', 'found'), art1 | |
| 46 | - assert_not_includes @finder.find('articles','found'), art2 | |
| 47 | - end | |
| 48 | - | |
| 49 | - should 'search for enterprises in a specific category' do | |
| 50 | - | |
| 51 | - # in category | |
| 52 | - ent1 = Enterprise.create!(:name => 'beautiful enterprise 1', :identifier => 'test1', :category_ids => [@category.id]) | |
| 53 | - | |
| 54 | - # not in category | |
| 55 | - ent2 = fast_create(Enterprise, :name => 'beautiful enterprise 2', :identifier => 'test2') | |
| 56 | - | |
| 57 | - list = @finder.find(:enterprises, 'beautiful') | |
| 58 | - assert_includes list, ent1 | |
| 59 | - assert_not_includes list, ent2 | |
| 60 | - end | |
| 61 | - | |
| 62 | - should 'search for people in a specific category' do | |
| 63 | - p1 = create_user('people_1').person; p1.name = 'a beautiful person'; p1.add_category(@category); p1.save! | |
| 64 | - p2 = create_user('people_2').person; p2.name = 'another beautiful person'; p2.save! | |
| 65 | - | |
| 66 | - list = @finder.find(:people, 'beautiful') | |
| 67 | - assert_includes list, p1 | |
| 68 | - assert_not_includes list, p2 | |
| 69 | - end | |
| 70 | - | |
| 71 | - should 'search for communities in a specific category' do | |
| 72 | - c1 = fast_create(Community, :name => 'a beautiful community', :identifier => 'bea_comm', :environment_id => Environment.default.id) | |
| 73 | - c2 = fast_create(Community, :name => 'another beautiful community', :identifier => 'an_bea_comm', :environment_id => Environment.default.id) | |
| 74 | - c1.add_category(@category); c1.save! | |
| 75 | - | |
| 76 | - list = @finder.find(:communities, 'beautiful') | |
| 77 | - assert_includes list, c1 | |
| 78 | - assert_not_includes list, c2 | |
| 79 | - end | |
| 80 | - | |
| 81 | - should 'search for products in a specific category' do | |
| 82 | - ent1 = fast_create(Enterprise, :name => 'teste1', :identifier => 'teste1'); ent1.add_category(@category) | |
| 83 | - ent2 = fast_create(Enterprise, :name => 'teste2', :identifier => 'teste2') | |
| 84 | - prod1 = ent1.products.create!(:name => 'a beautiful product', :product_category => @product_category) | |
| 85 | - prod2 = ent2.products.create!(:name => 'another beautiful product', :product_category => @product_category) | |
| 86 | - | |
| 87 | - list = @finder.find(:products, 'beautiful') | |
| 88 | - assert_includes list, prod1 | |
| 89 | - assert_not_includes list, prod2 | |
| 90 | - end | |
| 91 | - | |
| 92 | - should 'search people in category hierarchy' do | |
| 93 | - parent = fast_create(Category, :name => 'parent category', :environment_id => Environment.default.id) | |
| 94 | - child = fast_create(Category, :name => 'child category', :environment_id => Environment.default.id, :parent_id => parent.id) | |
| 95 | - p1 = create_user('people_1').person | |
| 96 | - p1.name = 'a beautiful person' | |
| 97 | - p1.add_category(child) | |
| 98 | - p1.save! | |
| 99 | - | |
| 100 | - parent.reload | |
| 101 | - | |
| 102 | - f = CategoryFinder.new(parent) | |
| 103 | - assert_includes f.find(:people, 'beautiful'), p1 | |
| 104 | - end | |
| 105 | - | |
| 106 | - should 'search article in category hierarchy' do | |
| 107 | - parent = fast_create(Category, :name => 'parent category', :environment_id => Environment.default.id) | |
| 108 | - child = fast_create(Category, :name => 'child category', :environment_id => Environment.default.id, :parent_id => parent.id) | |
| 109 | - | |
| 110 | - p1 = create_user('people_1').person | |
| 111 | - | |
| 112 | - article = p1.articles.create!(:name => 'a beautiful article', :category_ids => [child.id]) | |
| 113 | - | |
| 114 | - parent.reload | |
| 115 | - | |
| 116 | - f = CategoryFinder.new(parent) | |
| 117 | - assert_includes f.find(:articles, 'beautiful'), article | |
| 118 | - end | |
| 119 | - | |
| 120 | - should 'list recent enterprises' do | |
| 121 | - ent = Enterprise.create!(:name => 'teste', :identifier => 'teste', :category_ids => [@category.id]) | |
| 122 | - assert_includes @finder.recent('enterprises'), ent | |
| 123 | - end | |
| 124 | - | |
| 125 | - should 'respond to total_entries in the recent enterprises result' do | |
| 126 | - ent = Enterprise.create!(:name => 'teste', :identifier => 'teste', :category_ids => [@category.id]) | |
| 127 | - assert_respond_to @finder.recent('enterprises'), :total_entries | |
| 128 | - end | |
| 129 | - | |
| 130 | - should 'not list more enterprises than limit' do | |
| 131 | - ent1 = Enterprise.create!(:name => 'teste1', :identifier => 'teste1', :category_ids => [@category.id]) | |
| 132 | - ent2 = Enterprise.create!(:name => 'teste2', :identifier => 'teste2', :category_ids => [@category.id]) | |
| 133 | - result = @finder.recent('enterprises', 1) | |
| 134 | - | |
| 135 | - assert_equal 1, result.size | |
| 136 | - end | |
| 137 | - | |
| 138 | - should 'paginate the list of more enterprises than limit' do | |
| 139 | - ent1 = Enterprise.create!(:name => 'teste1', :identifier => 'teste1', :category_ids => [@category.id]) | |
| 140 | - ent2 = Enterprise.create!(:name => 'teste2', :identifier => 'teste2', :category_ids => [@category.id]) | |
| 141 | - | |
| 142 | - page_1 = @finder.find('enterprises', nil, :per_page => 1, :page => 1) | |
| 143 | - page_2 = @finder.find('enterprises', nil, :per_page => 1, :page => 2) | |
| 144 | - | |
| 145 | - assert_equal 1, page_1.size | |
| 146 | - assert_equal 1, page_2.size | |
| 147 | - assert_equivalent [ent1, ent2], page_1 + page_2 | |
| 148 | - end | |
| 149 | - | |
| 150 | - should 'paginate the list of more enterprises than limit with query' do | |
| 151 | - ent1 = Enterprise.create!(:name => 'teste 1', :identifier => 'teste1', :category_ids => [@category.id]) | |
| 152 | - ent2 = Enterprise.create!(:name => 'teste 2', :identifier => 'teste2', :category_ids => [@category.id]) | |
| 153 | - | |
| 154 | - p1 = @finder.find('enterprises', 'teste', :per_page => 1, :page => 1) | |
| 155 | - p2 = @finder.find('enterprises', 'teste', :per_page => 1, :page => 2) | |
| 156 | - | |
| 157 | - assert_respond_to p1, :total_entries | |
| 158 | - assert_respond_to p2, :total_entries | |
| 159 | - assert (p1 == [ent1] && p2 == [ent2]) || (p1 == [ent2] && p2 == [ent1]) # consistent paging | |
| 160 | - end | |
| 161 | - | |
| 162 | - should 'not list more people than limit' do | |
| 163 | - p1 = create_user('test1').person; p1.add_category(@category) | |
| 164 | - p2 = create_user('test2').person; p2.add_category(@category) | |
| 165 | - result = @finder.recent('people', 1) | |
| 166 | - | |
| 167 | - assert_equal 1, result.size | |
| 168 | - end | |
| 169 | - | |
| 170 | - should 'list recent articles' do | |
| 171 | - person = create_user('teste').person | |
| 172 | - art1 = person.articles.create!(:name => 'an article to be found', :category_ids => [@category.id]) | |
| 173 | - art2 = person.articles.create!(:name => 'another article to be found', :category_ids => [@category.id]) | |
| 174 | - | |
| 175 | - result = @finder.recent('articles', 1) | |
| 176 | - | |
| 177 | - assert_equal [art2], result | |
| 178 | - end | |
| 179 | - | |
| 180 | - should 'not return the same result twice' do | |
| 181 | - parent = fast_create(Category, :name => 'parent category', :environment_id => Environment.default.id) | |
| 182 | - child = fast_create(Category, :name => 'child category', :environment_id => Environment.default.id, :parent_id => parent.id) | |
| 183 | - p1 = create_user('people_1').person | |
| 184 | - p1.name = 'a beautiful person' | |
| 185 | - p1.category_ids = [child.id, parent.id]; p1.save! | |
| 186 | - | |
| 187 | - f = CategoryFinder.new(parent) | |
| 188 | - result = f.find(:people, 'beautiful') | |
| 189 | - | |
| 190 | - assert_equal [p1], result | |
| 191 | - assert_equal 1, result.size | |
| 192 | - end | |
| 193 | - | |
| 194 | - should 'return most commented articles' do | |
| 195 | - Article.delete_all | |
| 196 | - | |
| 197 | - person = create_user('testuser').person | |
| 198 | - articles = (1..4).map {|n| a = person.articles.build(:name => "art #{n}", :category_ids => [@category.id]); a.save!; a } | |
| 199 | - | |
| 200 | - 2.times { articles[0].comments.build(:title => 'test', :body => 'asdsad', :author => person).save! } | |
| 201 | - 4.times { articles[1].comments.build(:title => 'test', :body => 'asdsad', :author => person).save! } | |
| 202 | - | |
| 203 | - result = @finder.most_commented_articles(2) | |
| 204 | - # should respect the order (more commented comes first) | |
| 205 | - assert_equal [articles[1], articles[0]], result | |
| 206 | - assert_respond_to result, :total_entries | |
| 207 | - end | |
| 208 | - | |
| 209 | - should 'find person and enterprise by radius and region' do | |
| 210 | - finder = CategoryFinder.new(@category) | |
| 211 | - | |
| 212 | - region = fast_create(Region, :name => 'r-test', :environment_id => Environment.default.id, :lat => 45.0, :lng => 45.0) | |
| 213 | - ent1 = Enterprise.create!(:name => 'test 1', :identifier => 'test1', :lat => 45.0, :lng => 45.0, :category_ids => [@category.id]) | |
| 214 | - p1 = create_user('test2').person | |
| 215 | - p1.name = 'test 2'; p1.lat = 45.0; p1.lng = 45.0; p1.add_category(@category); p1.save! | |
| 216 | - ent2 = Enterprise.create!(:name => 'test 3', :identifier => 'test3', :lat => 30.0, :lng => 30.0, :category_ids => [@category.id]) | |
| 217 | - p2 = create_user('test4').person | |
| 218 | - p2.name = 'test 4'; p2.lat = 30.0; p2.lng = 30.0; p2.add_category(@category); p2.save! | |
| 219 | - | |
| 220 | - ents = finder.find(:enterprises, 'test', :within => 10, :region => region.id) | |
| 221 | - people = finder.find(:people, 'test', :within => 10, :region => region.id) | |
| 222 | - | |
| 223 | - assert_includes ents, ent1 | |
| 224 | - assert_not_includes ents, ent2 | |
| 225 | - assert_includes people, p1 | |
| 226 | - assert_not_includes people, p2 | |
| 227 | - end | |
| 228 | - | |
| 229 | - should 'find current events' do | |
| 230 | - finder = CategoryFinder.new(@category) | |
| 231 | - person = create_user('testuser').person | |
| 232 | - | |
| 233 | - e1 = Event.create!(:name => 'e1', :profile => person, :start_date => Date.new(2008,1,1), :category_ids => [@category.id]) | |
| 234 | - | |
| 235 | - # not in category | |
| 236 | - e2 = fast_create(Event, :name => 'e2', :profile_id => person.id, :start_date => Date.new(2008,1,15)) | |
| 237 | - | |
| 238 | - events = finder.current_events(2008, 1) | |
| 239 | - assert_includes events, e1 | |
| 240 | - assert_not_includes events, e2 | |
| 241 | - end | |
| 242 | - | |
| 243 | - should 'list upcoming events' do | |
| 244 | - person = create_user('testuser').person | |
| 245 | - | |
| 246 | - Date.expects(:today).returns(Date.new(2008, 1, 15)).at_least_once | |
| 247 | - | |
| 248 | - past_event = Event.create!(:name => 'past event', :profile => person, :start_date => Date.new(2008,1,1), :category_ids => [@category.id]) | |
| 249 | - | |
| 250 | - # event 2 is created after, but must be listed before (since it happens before) | |
| 251 | - upcoming_event_2 = Event.create!(:name => 'upcoming event 2', :profile => person, :start_date => Date.new(2008,1,25), :category_ids => [@category.id]) | |
| 252 | - upcoming_event_1 = Event.create!(:name => 'upcoming event 1', :profile => person, :start_date => Date.new(2008,1,20), :category_ids => [@category.id]) | |
| 253 | - not_in_category = fast_create(Event, :name => 'e1', :profile_id => person.id, :start_date => Date.new(2008,1,20)) | |
| 254 | - | |
| 255 | - assert_equal [upcoming_event_1, upcoming_event_2], @finder.upcoming_events | |
| 256 | - end | |
| 257 | - | |
| 258 | - should 'find person and enterprise in category by radius and region even without query' do | |
| 259 | - cat = fast_create(Category, :name => 'test category', :environment_id => Environment.default.id) | |
| 260 | - finder = CategoryFinder.new(cat) | |
| 261 | - | |
| 262 | - region = fast_create(Region, :name => 'r-test', :environment_id => Environment.default.id, :lat => 45.0, :lng => 45.0) | |
| 263 | - ent1 = Enterprise.create!(:name => 'test 1', :identifier => 'test1', :lat => 45.0, :lng => 45.0, :category_ids => [cat.id]) | |
| 264 | - p1 = create_user('test2').person | |
| 265 | - p1.name = 'test 2'; p1.lat = 45.0; p1.lng = 45.0; p1.add_category(cat); p1.save! | |
| 266 | - ent2 = Enterprise.create!(:name => 'test 3', :identifier => 'test3', :lat => 30.0, :lng => 30.0, :category_ids => [cat.id]) | |
| 267 | - p2 = create_user('test4').person | |
| 268 | - p2.name = 'test 4'; p2.lat = 30.0; p2.lng = 30.0; p2.add_category(cat); p2.save! | |
| 269 | - | |
| 270 | - ents = finder.find(:enterprises, nil, :within => 10, :region => region.id) | |
| 271 | - people = finder.find(:people, nil, :within => 10, :region => region.id) | |
| 272 | - | |
| 273 | - assert_includes ents, ent1 | |
| 274 | - assert_not_includes ents, ent2 | |
| 275 | - assert_includes people, p1 | |
| 276 | - assert_not_includes people, p2 | |
| 277 | - end | |
| 278 | - | |
| 279 | - should 'find products in category wihin product category' do | |
| 280 | - cat = fast_create(Category, :name => 'test category', :environment_id => Environment.default.id) | |
| 281 | - finder = CategoryFinder.new(cat) | |
| 282 | - | |
| 283 | - prod_cat = fast_create(ProductCategory, :name => 'test product category', :environment_id => Environment.default.id) | |
| 284 | - ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :category_ids => [cat.id]) | |
| 285 | - prod1 = ent.products.create!(:name => 'test product 1', :product_category => prod_cat) | |
| 286 | - prod2 = ent.products.create!(:name => 'test product 2', :product_category => @product_category) | |
| 287 | - | |
| 288 | - prods = finder.find(:products, nil, :product_category => prod_cat) | |
| 289 | - | |
| 290 | - assert_includes prods, prod1 | |
| 291 | - assert_not_includes prods, prod2 | |
| 292 | - end | |
| 293 | - | |
| 294 | - should 'find enterprises by its products categories without query' do | |
| 295 | - pc1 = fast_create(ProductCategory, :name => 'test_cat1', :environment_id => Environment.default.id) | |
| 296 | - pc2 = fast_create(ProductCategory, :name => 'test_cat2', :environment_id => Environment.default.id) | |
| 297 | - | |
| 298 | - ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test_ent1', :category_ids => [@category.id]) | |
| 299 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 300 | - ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'test_ent2', :category_ids => [@category.id]) | |
| 301 | - ent2.products.create!(:name => 'test product 2', :product_category => pc2) | |
| 302 | - | |
| 303 | - ents = @finder.find(:enterprises, nil, :product_category => pc1) | |
| 304 | - | |
| 305 | - assert_includes ents, ent1 | |
| 306 | - assert_not_includes ents, ent2 | |
| 307 | - end | |
| 308 | - | |
| 309 | - should 'find enterprises by its products categories with query' do | |
| 310 | - pc1 = fast_create(ProductCategory, :name => 'test_cat1', :environment_id => Environment.default.id) | |
| 311 | - pc2 = fast_create(ProductCategory, :name => 'test_cat2', :environment_id => Environment.default.id) | |
| 312 | - | |
| 313 | - ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test_ent1', :category_ids => [@category.id]) | |
| 314 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 315 | - ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'test_ent2', :category_ids => [@category.id]) | |
| 316 | - ent2.products.create!(:name => 'test product 2', :product_category => pc2) | |
| 317 | - | |
| 318 | - ents = @finder.find(:enterprises, 'test', :product_category => pc1) | |
| 319 | - | |
| 320 | - assert_includes ents, ent1 | |
| 321 | - assert_not_includes ents, ent2 | |
| 322 | - end | |
| 323 | - | |
| 324 | - should 'count product categories results by products' do | |
| 325 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 326 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 327 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 328 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 329 | - | |
| 330 | - ent = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test_ent1', :category_ids => [@category.id]) | |
| 331 | - p1 = ent.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 332 | - p2 = ent.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 333 | - p3 = ent.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 334 | - p4 = ent.products.create!(:name => 'test product 4', :product_category => pc2) # not in the count | |
| 335 | - p5 = ent.products.create!(:name => 'test product 5', :product_category => pc3) # not in the count | |
| 336 | - | |
| 337 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 338 | - p6 = ent2.products.create!(:name => 'test product 6', :product_category => pc1) | |
| 339 | - | |
| 340 | - counts = @finder.product_categories_count(:products, [pc1.id, pc11.id, pc2.id], [p1.id, p2.id, p3.id, p5.id, p6.id] ) | |
| 341 | - | |
| 342 | - assert_equal 2, counts[pc1.id] | |
| 343 | - assert_equal 1, counts[pc11.id] | |
| 344 | - assert_equal 1, counts[pc2.id] | |
| 345 | - assert_nil counts[pc3.id] | |
| 346 | - end | |
| 347 | - | |
| 348 | - should 'count product categories results by all products' do | |
| 349 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 350 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 351 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 352 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 353 | - | |
| 354 | - ent = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test_ent1', :category_ids => [@category.id]) | |
| 355 | - p1 = ent.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 356 | - p2 = ent.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 357 | - p3 = ent.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 358 | - p4 = ent.products.create!(:name => 'test product 4', :product_category => pc3) # not in the count | |
| 359 | - | |
| 360 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 361 | - p6 = ent2.products.create!(:name => 'test product 6', :product_category => pc1) | |
| 362 | - | |
| 363 | - | |
| 364 | - counts = @finder.product_categories_count(:products, [pc1.id, pc11.id, pc2.id] ) | |
| 365 | - | |
| 366 | - assert_equal 2, counts[pc1.id] | |
| 367 | - assert_equal 1, counts[pc11.id] | |
| 368 | - assert_equal 1, counts[pc2.id] | |
| 369 | - assert_nil counts[pc3.id] | |
| 370 | - end | |
| 371 | - | |
| 372 | - should 'count product categories results by enterprises' do | |
| 373 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 374 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 375 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 376 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 377 | - | |
| 378 | - ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test_ent1', :category_ids => [@category.id]) | |
| 379 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 380 | - ent1.products.create!(:name => 'test product 2', :product_category => pc1) | |
| 381 | - ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'test_ent2', :category_ids => [@category.id]) | |
| 382 | - ent2.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 383 | - ent3 = Enterprise.create!(:name => 'test enterprise 3', :identifier => 'test_ent3', :category_ids => [@category.id]) | |
| 384 | - ent3.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 385 | - ent4 = Enterprise.create!(:name => 'test enterprise 4', :identifier => 'test_ent4', :category_ids => [@category.id]) | |
| 386 | - ent4.products.create!(:name => 'test product 4', :product_category => pc2) | |
| 387 | - ent5 = Enterprise.create!(:name => 'test enterprise 5', :identifier => 'test_ent5', :category_ids => [@category.id]) | |
| 388 | - ent5.products.create!(:name => 'test product 5', :product_category => pc2) | |
| 389 | - ent5.products.create!(:name => 'test product 6', :product_category => pc3) | |
| 390 | - | |
| 391 | - ent6 = fast_create(Enterprise, :name => 'test enterprise 6', :identifier => 'test_ent6') | |
| 392 | - p6 = ent2.products.create!(:name => 'test product 6', :product_category => pc1) | |
| 393 | - | |
| 394 | - counts = @finder.product_categories_count(:enterprises, [pc1.id, pc11.id, pc2.id], [ent1.id, ent2.id, ent3.id, ent4.id] ) | |
| 395 | - | |
| 396 | - assert_equal 2, counts[pc1.id] | |
| 397 | - assert_equal 1, counts[pc11.id] | |
| 398 | - assert_equal 2, counts[pc2.id] | |
| 399 | - assert_nil counts[pc3.id] | |
| 400 | - end | |
| 401 | - | |
| 402 | - should 'count product categories results by all enterprises' do | |
| 403 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 404 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default, :parent_id => pc1.id) | |
| 405 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 406 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 407 | - | |
| 408 | - ent1 = Enterprise.create!(:name => 'test enterprise 1', :identifier => 'test_ent1', :category_ids => [@category.id]) | |
| 409 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 410 | - ent1.products.create!(:name => 'test product 2', :product_category => pc1) | |
| 411 | - ent2 = Enterprise.create!(:name => 'test enterprise 2', :identifier => 'test_ent2', :category_ids => [@category.id]) | |
| 412 | - ent2.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 413 | - ent3 = Enterprise.create!(:name => 'test enterprise 3', :identifier => 'test_ent3', :category_ids => [@category.id]) | |
| 414 | - ent3.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 415 | - ent4 = Enterprise.create!(:name => 'test enterprise 4', :identifier => 'test_ent4', :category_ids => [@category.id]) | |
| 416 | - ent4.products.create!(:name => 'test product 4', :product_category => pc2) | |
| 417 | - ent4.products.create!(:name => 'test product 5', :product_category => pc3) | |
| 418 | - | |
| 419 | - ent5 = fast_create(Enterprise, :name => 'test enterprise 5', :identifier => 'test_ent5') | |
| 420 | - p6 = ent2.products.create!(:name => 'test product 6', :product_category => pc1) | |
| 421 | - | |
| 422 | - counts = @finder.product_categories_count(:enterprises, [pc1.id, pc11.id, pc2.id] ) | |
| 423 | - | |
| 424 | - assert_equal 2, counts[pc1.id] | |
| 425 | - assert_equal 1, counts[pc11.id] | |
| 426 | - assert_equal 2, counts[pc2.id] | |
| 427 | - assert_nil counts[pc3.id] | |
| 428 | - end | |
| 429 | - | |
| 430 | - should 'find enterprises in alphabetical order of name' do | |
| 431 | - ent1 = Enterprise.create!(:name => 'test enterprise B', :identifier => 'test_ent_b', :category_ids => [@category.id]) | |
| 432 | - ent2 = Enterprise.create!(:name => 'test enterprise A', :identifier => 'test_ent_a', :category_ids => [@category.id]) | |
| 433 | - ent3 = Enterprise.create!(:name => 'test enterprise C', :identifier => 'test_ent_c', :category_ids => [@category.id]) | |
| 434 | - | |
| 435 | - ents = @finder.find(:enterprises, nil) | |
| 436 | - | |
| 437 | - assert ents.index(ent2) < ents.index(ent1), "expected #{ents.index(ent2)} be smaller than #{ents.index(ent1)}" | |
| 438 | - assert ents.index(ent1) < ents.index(ent3), "expected #{ents.index(ent1)} be smaller than #{ents.index(ent3)}" | |
| 439 | - end | |
| 440 | - | |
| 441 | - should 'search for text articles in a specific category' do | |
| 442 | - person = create_user('teste').person | |
| 443 | - | |
| 444 | - # in category | |
| 445 | - art1 = fast_create(TextileArticle, :name => 'an article to be found', :profile_id => person.id) | |
| 446 | - art1.add_category(@category) | |
| 447 | - art1.save! | |
| 448 | - | |
| 449 | - # not in category | |
| 450 | - art2 = fast_create(TextileArticle, :name => 'another article to be found', :profile_id => person.id) | |
| 451 | - | |
| 452 | - list = @finder.find(:text_articles, 'found') | |
| 453 | - assert_includes list, art1 | |
| 454 | - assert_not_includes list, art2 | |
| 455 | - end | |
| 456 | - | |
| 457 | - should 'find events in a date range' do | |
| 458 | - person = create_user('testuser').person | |
| 459 | - | |
| 460 | - date_range = Date.new(2009, 11, 28)..Date.new(2009, 12, 3) | |
| 461 | - | |
| 462 | - event_in_range = Event.create!(:name => 'Event in range', :profile => person, :start_date => Date.new(2009, 11, 27), :end_date => date_range.last, :category_ids => [@category.id]) | |
| 463 | - event_out_of_range = Event.create!(:name => 'Event out of range', :profile => person, :start_date => Date.new(2009, 12, 4), :category_ids => [@category.id]) | |
| 464 | - | |
| 465 | - events_found = @finder.find(:events, '', :date_range => date_range) | |
| 466 | - | |
| 467 | - assert_includes events_found, event_in_range | |
| 468 | - assert_not_includes events_found, event_out_of_range | |
| 469 | - end | |
| 470 | - | |
| 471 | - should 'not paginate events' do | |
| 472 | - person = create_user('testuser').person | |
| 473 | - | |
| 474 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 475 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 476 | - | |
| 477 | - assert_equal 2, @finder.find(:events, '', :per_page => 1).size | |
| 478 | - end | |
| 479 | - | |
| 480 | - should 'not paginate events within a range' do | |
| 481 | - person = create_user('testuser').person | |
| 482 | - | |
| 483 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 484 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 485 | - | |
| 486 | - date_range = Date.today..Date.today | |
| 487 | - assert_equal 2, @finder.find(:events, '', :date_range => date_range, :per_page => 1).size | |
| 488 | - end | |
| 489 | - | |
| 490 | - should 'not paginate current events' do | |
| 491 | - person = create_user('testuser').person | |
| 492 | - | |
| 493 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 494 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 495 | - | |
| 496 | - assert_equal 2, @finder.current_events(Date.today.year, Date.today.month, :per_page => 1).size | |
| 497 | - end | |
| 498 | - | |
| 499 | - should 'not paginate upcoming events' do | |
| 500 | - person = create_user('testuser').person | |
| 501 | - | |
| 502 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 503 | - create(:event, :profile_id => person.id, :category_ids => [@category.id]) | |
| 504 | - | |
| 505 | - assert_equal 2, @finder.upcoming_events(:per_page => 1).size | |
| 506 | - end | |
| 507 | - | |
| 508 | - should 'not paginate searching for specific event' do | |
| 509 | - person = create_user('teste').person | |
| 510 | - | |
| 511 | - today = Date.today | |
| 512 | - | |
| 513 | - event_to_found1 = Event.create!(:name => 'ToFound 1', :profile => person, :category_ids => [@category.id], :start_date => today) | |
| 514 | - event_to_found2 = Event.create!(:name => 'ToFound 2', :profile => person, :category_ids => [@category.id], :start_date => today) | |
| 515 | - event_to_not_found1 = Event.create!(:name => 'ToNotFound 1', :profile => person, :category_ids => [@category.id], :start_date => today) | |
| 516 | - event_to_not_found2 = Event.create!(:name => 'ToNotFound 2', :profile => person, :category_ids => [@category.id], :start_date => today) | |
| 517 | - | |
| 518 | - result = @finder.find(:events, 'ToFound', :per_page => 1) | |
| 519 | - | |
| 520 | - assert_includes result, event_to_found1 | |
| 521 | - assert_includes result, event_to_found2 | |
| 522 | - assert_not_includes result, event_to_not_found1 | |
| 523 | - assert_not_includes result, event_to_not_found2 | |
| 524 | - end | |
| 525 | - | |
| 526 | -end |
test/unit/communities_block_test.rb
| ... | ... | @@ -43,7 +43,7 @@ class CommunitiesBlockTest < ActiveSupport::TestCase |
| 43 | 43 | block = CommunitiesBlock.new |
| 44 | 44 | block.expects(:owner).returns(env) |
| 45 | 45 | |
| 46 | - expects(:link_to).with('View all', :controller => "browse", :action => 'communities') | |
| 46 | + expects(:link_to).with('View all', :controller => "search", :action => 'communities') | |
| 47 | 47 | |
| 48 | 48 | instance_eval(&block.footer) |
| 49 | 49 | end | ... | ... |
| ... | ... | @@ -0,0 +1,64 @@ |
| 1 | +require File.dirname(__FILE__) + '/../test_helper' | |
| 2 | + | |
| 3 | +class EnterpriseHomepageHelperTest < ActiveSupport::TestCase | |
| 4 | + | |
| 5 | + include EnterpriseHomepageHelper | |
| 6 | + | |
| 7 | + def setup | |
| 8 | + @profile = mock | |
| 9 | + profile.stubs(:profile_image).returns('profileimage.png') | |
| 10 | + self.stubs(:url_for).returns('link to profile') | |
| 11 | + profile.stubs(:name).returns('Name of Profile') | |
| 12 | + profile.stubs(:url).returns('') | |
| 13 | + profile.stubs(:products).returns([Product.new(:name => 'product test')]) | |
| 14 | + profile.stubs(:identifier).returns('name-of-profile') | |
| 15 | + profile.stubs(:region).returns(Region.new(:name => 'Brazil')) | |
| 16 | + profile.stubs(:address).returns('Address of Profile') | |
| 17 | + profile.stubs(:contact_email).returns('Email of Profile') | |
| 18 | + profile.stubs(:contact_phone).returns('Phone of Profile') | |
| 19 | + profile.stubs(:contact_person).returns('Profile Owner') | |
| 20 | + profile.stubs(:location).returns('Profile Location'); | |
| 21 | + profile.stubs(:economic_activity).returns('Profile Economic Activity'); | |
| 22 | + end | |
| 23 | + attr_reader :profile | |
| 24 | + | |
| 25 | + should 'display profile info' do | |
| 26 | + result = display_profile_info(profile) | |
| 27 | + assert_match /Profile Owner/, result | |
| 28 | + assert_match /Email of Profile/, result | |
| 29 | + assert_match /Phone of Profile/, result | |
| 30 | + assert_match /Profile Location/, result | |
| 31 | + assert_match /Address of Profile/, result | |
| 32 | + assert_match /Profile Economic Activity/, result | |
| 33 | + end | |
| 34 | + | |
| 35 | + should 'not display attribute if nil' do | |
| 36 | + profile.stubs(:contact_person).returns(nil); | |
| 37 | + result = display_profile_info(profile) | |
| 38 | + assert_no_match /Profile Owner/, result | |
| 39 | + end | |
| 40 | + | |
| 41 | + should 'not display attribute if blank' do | |
| 42 | + profile.stubs(:contact_person).returns(''); | |
| 43 | + result = display_profile_info(profile) | |
| 44 | + assert_no_match /Profile Owner/, result | |
| 45 | + end | |
| 46 | + | |
| 47 | + should 'display distance' do | |
| 48 | + profile.stubs(:distance).returns(100.345); | |
| 49 | + result = display_profile_info(profile) | |
| 50 | + assert_match /Distance:/, result | |
| 51 | + assert_match /100.34/, result | |
| 52 | + end | |
| 53 | + | |
| 54 | + should 'not display distance if nil' do | |
| 55 | + profile.stubs(:distance).returns(nil); | |
| 56 | + result = display_profile_info(profile) | |
| 57 | + assert_no_match /Distance:/, result | |
| 58 | + assert_no_match /100.34/, result | |
| 59 | + end | |
| 60 | + | |
| 61 | + protected | |
| 62 | + include NoosferoTestHelper | |
| 63 | + | |
| 64 | +end | ... | ... |
test/unit/environment_finder_test.rb
| ... | ... | @@ -1,361 +0,0 @@ |
| 1 | -require File.dirname(__FILE__) + '/../test_helper' | |
| 2 | - | |
| 3 | -class EnvironmentFinderTest < ActiveSupport::TestCase | |
| 4 | - | |
| 5 | - def setup | |
| 6 | - ActiveSupport::TestCase::setup | |
| 7 | - @product_category = fast_create(ProductCategory, :name => 'Products') | |
| 8 | - end | |
| 9 | - | |
| 10 | - should 'find articles' do | |
| 11 | - person = create_user('teste').person | |
| 12 | - art = person.articles.build(:name => 'an article to be found'); art.save! | |
| 13 | - finder = EnvironmentFinder.new(Environment.default) | |
| 14 | - assert_includes finder.find(:articles, 'found'), art | |
| 15 | - end | |
| 16 | - | |
| 17 | - should 'find people' do | |
| 18 | - p1 = create_user('people_1').person; p1.name = 'a beautiful person'; p1.save! | |
| 19 | - finder = EnvironmentFinder.new(Environment.default) | |
| 20 | - assert_includes finder.find(:people, 'beautiful'), p1 | |
| 21 | - end | |
| 22 | - | |
| 23 | - should 'find communities' do | |
| 24 | - c1 = Community.create!(:name => 'a beautiful community', :identifier => 'bea_comm', :environment => Environment.default) | |
| 25 | - finder = EnvironmentFinder.new(Environment.default) | |
| 26 | - assert_includes finder.find(:communities, 'beautiful'), c1 | |
| 27 | - end | |
| 28 | - | |
| 29 | - should 'find products' do | |
| 30 | - finder = EnvironmentFinder.new(Environment.default) | |
| 31 | - ent = fast_create(Enterprise, :name => 'teste', :identifier => 'teste') | |
| 32 | - prod = ent.products.create!(:name => 'a beautiful product', :product_category => @product_category) | |
| 33 | - assert_includes finder.find(:products, 'beautiful'), prod | |
| 34 | - end | |
| 35 | - | |
| 36 | - should 'find enterprises' do | |
| 37 | - finder = EnvironmentFinder.new(Environment.default) | |
| 38 | - ent = Enterprise.create!(:name => 'a beautiful enterprise', :identifier => 'teste') | |
| 39 | - assert_includes finder.find(:enterprises, 'beautiful'), ent | |
| 40 | - end | |
| 41 | - | |
| 42 | - should 'list recent enterprises' do | |
| 43 | - finder = EnvironmentFinder.new(Environment.default) | |
| 44 | - ent = fast_create(Enterprise, :name => 'teste', :identifier => 'teste') | |
| 45 | - assert_includes finder.recent('enterprises'), ent | |
| 46 | - end | |
| 47 | - | |
| 48 | - should 'not list more enterprises than limit' do | |
| 49 | - finder = EnvironmentFinder.new(Environment.default) | |
| 50 | - ent1 = fast_create(Enterprise, :name => 'teste1', :identifier => 'teste1') | |
| 51 | - ent2 = fast_create(Enterprise, :name => 'teste2', :identifier => 'teste2') | |
| 52 | - recent = finder.recent('enterprises', 1) | |
| 53 | - | |
| 54 | - assert_equal 1, recent.size | |
| 55 | - end | |
| 56 | - | |
| 57 | - should 'paginate the list of more enterprises than limit' do | |
| 58 | - finder = EnvironmentFinder.new(Environment.default) | |
| 59 | - ent1 = fast_create(Enterprise, :name => 'teste1', :identifier => 'teste1') | |
| 60 | - ent2 = fast_create(Enterprise, :name => 'teste2', :identifier => 'teste2') | |
| 61 | - | |
| 62 | - assert_equal 1, finder.find('enterprises', nil, :per_page => 1, :page => 1).size | |
| 63 | - end | |
| 64 | - | |
| 65 | - should 'paginate the list of more enterprises than limit with query' do | |
| 66 | - finder = EnvironmentFinder.new(Environment.default) | |
| 67 | - | |
| 68 | - ent1 = Enterprise.create!(:name => 'teste 1', :identifier => 'teste1') | |
| 69 | - ent2 = Enterprise.create!(:name => 'teste 2', :identifier => 'teste2') | |
| 70 | - | |
| 71 | - p1 = finder.find('enterprises', 'teste', :per_page => 1, :page => 1) | |
| 72 | - p2 = finder.find('enterprises', 'teste', :per_page => 1, :page => 2) | |
| 73 | - | |
| 74 | - assert (p1 == [ent1] && p2 == [ent2]) || (p1 == [ent2] && p2 == [ent1]) | |
| 75 | - end | |
| 76 | - | |
| 77 | - should 'find person and enterprise by radius and region' do | |
| 78 | - finder = EnvironmentFinder.new(Environment.default) | |
| 79 | - | |
| 80 | - region = fast_create(Region, :name => 'r-test', :environment_id => Environment.default.id, :lat => 45.0, :lng => 45.0) | |
| 81 | - ent1 = fast_create(Enterprise, {:name => 'test 1', :identifier => 'test1', :lat => 45.0, :lng => 45.0}, :search => true) | |
| 82 | - p1 = create_user('test2').person | |
| 83 | - p1.name = 'test 2'; p1.lat = 45.0; p1.lng = 45.0; p1.save! | |
| 84 | - ent2 = fast_create(Enterprise, {:name => 'test 3', :identifier => 'test3', :lat => 30.0, :lng => 30.0}, :search => true) | |
| 85 | - p2 = create_user('test4').person | |
| 86 | - p2.name = 'test 4'; p2.lat = 30.0; p2.lng = 30.0; p2.save! | |
| 87 | - | |
| 88 | - ents = finder.find(:enterprises, 'test', :within => 10, :region => region.id) | |
| 89 | - people = finder.find(:people, 'test', :within => 10, :region => region.id) | |
| 90 | - | |
| 91 | - assert_includes ents, ent1 | |
| 92 | - assert_not_includes ents, ent2 | |
| 93 | - assert_includes people, p1 | |
| 94 | - assert_not_includes people, p2 | |
| 95 | - end | |
| 96 | - | |
| 97 | - should 'find person and enterprise by radius and region even without query' do | |
| 98 | - finder = EnvironmentFinder.new(Environment.default) | |
| 99 | - | |
| 100 | - region = fast_create(Region, :name => 'r-test', :environment_id => Environment.default.id, :lat => 45.0, :lng => 45.0) | |
| 101 | - ent1 = fast_create(Enterprise, :name => 'test 1', :identifier => 'test1', :lat => 45.0, :lng => 45.0) | |
| 102 | - p1 = create_user('test2').person | |
| 103 | - p1.name = 'test 2'; p1.lat = 45.0; p1.lng = 45.0; p1.save! | |
| 104 | - ent2 = fast_create(Enterprise, :name => 'test 3', :identifier => 'test3', :lat => 30.0, :lng => 30.0) | |
| 105 | - p2 = create_user('test4').person | |
| 106 | - p2.name = 'test 4'; p2.lat = 30.0; p2.lng = 30.0; p2.save! | |
| 107 | - | |
| 108 | - ents = finder.find(:enterprises, nil, :within => 10, :region => region.id) | |
| 109 | - people = finder.find(:people, nil, :within => 10, :region => region.id) | |
| 110 | - | |
| 111 | - assert_includes ents, ent1 | |
| 112 | - assert_not_includes ents, ent2 | |
| 113 | - assert_includes people, p1 | |
| 114 | - assert_not_includes people, p2 | |
| 115 | - end | |
| 116 | - | |
| 117 | - should 'find products wihin product category' do | |
| 118 | - finder = EnvironmentFinder.new(Environment.default) | |
| 119 | - cat = fast_create(ProductCategory, :name => 'test category', :environment_id => Environment.default.id) | |
| 120 | - ent = fast_create(Enterprise, :name => 'test enterprise', :identifier => 'test_ent') | |
| 121 | - prod1 = ent.products.create!(:name => 'test product 1', :product_category => cat) | |
| 122 | - prod2 = ent.products.create!(:name => 'test product 2', :product_category => @product_category) | |
| 123 | - | |
| 124 | - prods = finder.find(:products, nil, :product_category => cat) | |
| 125 | - | |
| 126 | - assert_includes prods, prod1 | |
| 127 | - assert_not_includes prods, prod2 | |
| 128 | - end | |
| 129 | - | |
| 130 | - should 'find products wihin product category with query' do | |
| 131 | - finder = EnvironmentFinder.new(Environment.default) | |
| 132 | - cat = fast_create(ProductCategory, :name => 'test category', :environment_id => Environment.default.id) | |
| 133 | - ent = fast_create(Enterprise, :name => 'test enterprise', :identifier => 'test_ent') | |
| 134 | - prod1 = ent.products.create!(:name => 'test product a_word 1', :product_category => cat) | |
| 135 | - prod2 = ent.products.create!(:name => 'test product b_word 1', :product_category => cat) | |
| 136 | - prod3 = ent.products.create!(:name => 'test product a_word 2', :product_category => @product_category) | |
| 137 | - prod4 = ent.products.create!(:name => 'test product b_word 2', :product_category => @product_category) | |
| 138 | - | |
| 139 | - prods = finder.find(:products, 'a_word', :product_category => cat) | |
| 140 | - | |
| 141 | - assert_includes prods, prod1 | |
| 142 | - assert_not_includes prods, prod2 | |
| 143 | - assert_not_includes prods, prod3 | |
| 144 | - assert_not_includes prods, prod4 | |
| 145 | - end | |
| 146 | - | |
| 147 | - should 'find enterprises in alphabetical order of name' do | |
| 148 | - finder = EnvironmentFinder.new(Environment.default) | |
| 149 | - | |
| 150 | - ent1 = fast_create(Enterprise, :name => 'test enterprise B', :identifier => 'test_ent_b') | |
| 151 | - ent2 = fast_create(Enterprise, :name => 'test enterprise A', :identifier => 'test_ent_a') | |
| 152 | - ent3 = fast_create(Enterprise, :name => 'test enterprise C', :identifier => 'test_ent_c') | |
| 153 | - | |
| 154 | - ents = finder.find(:enterprises, nil) | |
| 155 | - | |
| 156 | - assert ents.index(ent2) < ents.index(ent1), "expected #{ents.index(ent2)} be smaller than #{ents.index(ent1)}" | |
| 157 | - assert ents.index(ent1) < ents.index(ent3), "expected #{ents.index(ent1)} be smaller than #{ents.index(ent3)}" | |
| 158 | - end | |
| 159 | - | |
| 160 | - should 'find enterprises by its products categories' do | |
| 161 | - finder = EnvironmentFinder.new(Environment.default) | |
| 162 | - | |
| 163 | - pc1 = fast_create(ProductCategory, :name => 'test_cat1', :environment_id => Environment.default.id) | |
| 164 | - pc2 = fast_create(ProductCategory, :name => 'test_cat2', :environment_id => Environment.default.id) | |
| 165 | - | |
| 166 | - ent1 = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 167 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 168 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 169 | - ent2.products.create!(:name => 'test product 2', :product_category => pc2) | |
| 170 | - | |
| 171 | - ents = finder.find(:enterprises, nil, :product_category => pc1) | |
| 172 | - | |
| 173 | - assert_includes ents, ent1 | |
| 174 | - assert_not_includes ents, ent2 | |
| 175 | - end | |
| 176 | - | |
| 177 | - should 'find enterprises by its products categories with query' do | |
| 178 | - finder = EnvironmentFinder.new(Environment.default) | |
| 179 | - | |
| 180 | - pc1 = fast_create(ProductCategory, :name => 'test_cat1', :environment_id => Environment.default.id) | |
| 181 | - pc2 = fast_create(ProductCategory, :name => 'test_cat2', :environment_id => Environment.default.id) | |
| 182 | - | |
| 183 | - ent1 = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 184 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 185 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 186 | - ent2.products.create!(:name => 'test product 2', :product_category => pc2) | |
| 187 | - | |
| 188 | - ents = finder.find(:enterprises, 'test', :product_category => pc1) | |
| 189 | - | |
| 190 | - assert_includes ents, ent1 | |
| 191 | - assert_not_includes ents, ent2 | |
| 192 | - end | |
| 193 | - | |
| 194 | - should 'find enterprises by a product category with name with spaces' do | |
| 195 | - finder = EnvironmentFinder.new(Environment.default) | |
| 196 | - | |
| 197 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 198 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 199 | - | |
| 200 | - ent1 = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 201 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 202 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 203 | - ent2.products.create!(:name => 'test product 2', :product_category => pc2) | |
| 204 | - | |
| 205 | - ents = finder.find(:enterprises, 'test', :product_category => pc1) | |
| 206 | - | |
| 207 | - assert_includes ents, ent1 | |
| 208 | - assert_not_includes ents, ent2 | |
| 209 | - end | |
| 210 | - | |
| 211 | - should 'count product categories results by products' do | |
| 212 | - finder = EnvironmentFinder.new(Environment.default) | |
| 213 | - | |
| 214 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 215 | - pc11= fast_create(ProductCategory, :name => 'test cat11',:environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 216 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 217 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 218 | - | |
| 219 | - | |
| 220 | - ent = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 221 | - p1 = ent.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 222 | - p2 = ent.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 223 | - p3 = ent.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 224 | - p4 = ent.products.create!(:name => 'test product 4', :product_category => pc2) # not in the count | |
| 225 | - p5 = ent.products.create!(:name => 'test product 5', :product_category => pc3) # not in the count | |
| 226 | - | |
| 227 | - counts = finder.product_categories_count(:products, [pc1.id, pc11.id, pc2.id], [p1.id, p2.id, p3.id] ) | |
| 228 | - | |
| 229 | - assert_equal 2, counts[pc1.id] | |
| 230 | - assert_equal 1, counts[pc11.id] | |
| 231 | - assert_equal 1, counts[pc2.id] | |
| 232 | - assert_nil counts[pc3.id] | |
| 233 | - end | |
| 234 | - | |
| 235 | - should 'count product categories results by all products' do | |
| 236 | - finder = EnvironmentFinder.new(Environment.default) | |
| 237 | - | |
| 238 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 239 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 240 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 241 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 242 | - | |
| 243 | - | |
| 244 | - ent = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 245 | - p1 = ent.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 246 | - p2 = ent.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 247 | - p3 = ent.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 248 | - p4 = ent.products.create!(:name => 'test product 4', :product_category => pc3) # not in the count | |
| 249 | - | |
| 250 | - counts = finder.product_categories_count(:products, [pc1.id, pc11.id, pc2.id] ) | |
| 251 | - | |
| 252 | - assert_equal 2, counts[pc1.id] | |
| 253 | - assert_equal 1, counts[pc11.id] | |
| 254 | - assert_equal 1, counts[pc2.id] | |
| 255 | - assert_nil counts[pc3.id] | |
| 256 | - end | |
| 257 | - | |
| 258 | - should 'count product categories results by enterprises' do | |
| 259 | - finder = EnvironmentFinder.new(Environment.default) | |
| 260 | - | |
| 261 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 262 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 263 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 264 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 265 | - | |
| 266 | - ent1 = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 267 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 268 | - ent1.products.create!(:name => 'test product 2', :product_category => pc1) | |
| 269 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 270 | - ent2.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 271 | - ent3 = fast_create(Enterprise, :name => 'test enterprise 3', :identifier => 'test_ent3') | |
| 272 | - ent3.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 273 | - ent4 = fast_create(Enterprise, :name => 'test enterprise 4', :identifier => 'test_ent4') | |
| 274 | - ent4.products.create!(:name => 'test product 4', :product_category => pc2) | |
| 275 | - ent5 = fast_create(Enterprise, :name => 'test enterprise 5', :identifier => 'test_ent5') # not in the count | |
| 276 | - ent5.products.create!(:name => 'test product 5', :product_category => pc2) | |
| 277 | - ent5.products.create!(:name => 'test product 6', :product_category => pc3) | |
| 278 | - | |
| 279 | - counts = finder.product_categories_count(:enterprises, [pc1.id, pc11.id, pc2.id], [ent1.id, ent2.id, ent3.id, ent4.id] ) | |
| 280 | - | |
| 281 | - assert_equal 2, counts[pc1.id] | |
| 282 | - assert_equal 1, counts[pc11.id] | |
| 283 | - assert_equal 2, counts[pc2.id] | |
| 284 | - assert_nil counts[pc3.id] | |
| 285 | - end | |
| 286 | - | |
| 287 | - should 'count product categories results by all enterprises' do | |
| 288 | - finder = EnvironmentFinder.new(Environment.default) | |
| 289 | - | |
| 290 | - pc1 = fast_create(ProductCategory, :name => 'test cat1', :environment_id => Environment.default.id) | |
| 291 | - pc11 = fast_create(ProductCategory, :name => 'test cat11', :environment_id => Environment.default.id, :parent_id => pc1.id) | |
| 292 | - pc2 = fast_create(ProductCategory, :name => 'test cat2', :environment_id => Environment.default.id) | |
| 293 | - pc3 = fast_create(ProductCategory, :name => 'test cat3', :environment_id => Environment.default.id) | |
| 294 | - | |
| 295 | - ent1 = fast_create(Enterprise, :name => 'test enterprise 1', :identifier => 'test_ent1') | |
| 296 | - ent1.products.create!(:name => 'test product 1', :product_category => pc1) | |
| 297 | - ent1.products.create!(:name => 'test product 2', :product_category => pc1) | |
| 298 | - ent2 = fast_create(Enterprise, :name => 'test enterprise 2', :identifier => 'test_ent2') | |
| 299 | - ent2.products.create!(:name => 'test product 2', :product_category => pc11) | |
| 300 | - ent3 = fast_create(Enterprise, :name => 'test enterprise 3', :identifier => 'test_ent3') | |
| 301 | - ent3.products.create!(:name => 'test product 3', :product_category => pc2) | |
| 302 | - ent4 = fast_create(Enterprise, :name => 'test enterprise 4', :identifier => 'test_ent4') | |
| 303 | - ent4.products.create!(:name => 'test product 4', :product_category => pc2) | |
| 304 | - ent4.products.create!(:name => 'test product 5', :product_category => pc3) | |
| 305 | - | |
| 306 | - counts = finder.product_categories_count(:enterprises, [pc1.id, pc11.id, pc2.id] ) | |
| 307 | - | |
| 308 | - assert_equal 2, counts[pc1.id] | |
| 309 | - assert_equal 1, counts[pc11.id] | |
| 310 | - assert_equal 2, counts[pc2.id] | |
| 311 | - assert_nil counts[pc3.id] | |
| 312 | - end | |
| 313 | - | |
| 314 | - should 'should retrieve more than 10 entries' do | |
| 315 | - Enterprise.destroy_all | |
| 316 | - finder = EnvironmentFinder.new(Environment.default) | |
| 317 | - | |
| 318 | - ('1'..'20').each do |n| | |
| 319 | - Enterprise.create!(:name => 'test ' + n, :identifier => 'test_' + n) | |
| 320 | - end | |
| 321 | - | |
| 322 | - assert_equal 20, finder.find(:enterprises, 'test').total_entries | |
| 323 | - end | |
| 324 | - | |
| 325 | - should 'find events in a date range' do | |
| 326 | - finder = EnvironmentFinder.new(Environment.default) | |
| 327 | - person = create_user('testuser').person | |
| 328 | - | |
| 329 | - date_range = Date.new(2009, 11, 28)..Date.new(2009, 12, 3) | |
| 330 | - | |
| 331 | - event_in_range = fast_create(Event, :name => 'Event in range', :profile_id => person.id, :start_date => Date.new(2009, 11, 27), :end_date => date_range.last) | |
| 332 | - event_out_of_range = fast_create(Event, :name => 'Event out of range', :profile_id => person.id, :start_date => Date.new(2009, 12, 4)) | |
| 333 | - | |
| 334 | - events_found = finder.find(:events, '', :date_range => date_range) | |
| 335 | - | |
| 336 | - assert_includes events_found, event_in_range | |
| 337 | - assert_not_includes events_found, event_out_of_range | |
| 338 | - end | |
| 339 | - | |
| 340 | - should 'not paginate events' do | |
| 341 | - finder = EnvironmentFinder.new(Environment.default) | |
| 342 | - person = create_user('testuser').person | |
| 343 | - | |
| 344 | - fast_create(:event, :profile_id => person.id) | |
| 345 | - fast_create(:event, :profile_id => person.id) | |
| 346 | - | |
| 347 | - assert_equal 2, finder.find(:events, '', :per_page => 1, :page => 1).size | |
| 348 | - end | |
| 349 | - | |
| 350 | - should 'not paginate events within date range' do | |
| 351 | - finder = EnvironmentFinder.new(Environment.default) | |
| 352 | - person = create_user('testuser').person | |
| 353 | - | |
| 354 | - fast_create(:event, :profile_id => person.id) | |
| 355 | - fast_create(:event, :profile_id => person.id) | |
| 356 | - | |
| 357 | - date_range = Date.today..Date.today | |
| 358 | - assert_equal 2, finder.find(:events, '', :date_range => date_range, :per_page => 1, :page => 1).size | |
| 359 | - end | |
| 360 | - | |
| 361 | -end |
test/unit/environment_test.rb
test/unit/featured_products_block_test.rb
| ... | ... | @@ -10,6 +10,7 @@ class FeaturedProductsBlockTest < ActiveSupport::TestCase |
| 10 | 10 | attr_reader :profile |
| 11 | 11 | |
| 12 | 12 | should 'refer to products' do |
| 13 | + profile = fast_create(Enterprise) | |
| 13 | 14 | products = [] |
| 14 | 15 | category = fast_create(ProductCategory) |
| 15 | 16 | 3.times {|n| products.push(Product.create!(:name => "product #{n}", :enterprise_id => profile.id, :product_category_id => category.id)) } | ... | ... |
test/unit/manage_products_helper_test.rb
| ... | ... | @@ -191,6 +191,7 @@ class ManageProductsHelperTest < ActiveSupport::TestCase |
| 191 | 191 | qualifier = fast_create(Qualifier) |
| 192 | 192 | certifier = fast_create(Certifier) |
| 193 | 193 | ProductQualifier.create!(:product => product, :qualifier => qualifier, :certifier => certifier) |
| 194 | +# The relationship between product, certifiers and qualifiers is extremely complicated | |
| 194 | 195 | certifier.destroy |
| 195 | 196 | assert_nothing_raised do |
| 196 | 197 | result = display_qualifiers(product) | ... | ... |
test/unit/people_block_test.rb
| ... | ... | @@ -40,7 +40,7 @@ class PeopleBlockTest < ActiveSupport::TestCase |
| 40 | 40 | block.stubs(:owner).returns(Environment.default) |
| 41 | 41 | |
| 42 | 42 | expects(:_).with('View all').returns('View all people') |
| 43 | - expects(:link_to).with('View all people', :controller => 'browse', :action => 'people') | |
| 43 | + expects(:link_to).with('View all people', :controller => 'search', :action => 'people') | |
| 44 | 44 | instance_eval(&block.footer) |
| 45 | 45 | end |
| 46 | 46 | ... | ... |
test/unit/product_category_test.rb
| ... | ... | @@ -6,12 +6,13 @@ class ProductCategoryTest < ActiveSupport::TestCase |
| 6 | 6 | c0 = ProductCategory.create!(:name => 'base_cat', :environment => Environment.default) |
| 7 | 7 | assert_equivalent [], c0.all_products |
| 8 | 8 | |
| 9 | - p0 = Product.create(:name => 'product1', :product_category => c0) | |
| 9 | + profile = fast_create(Enterprise) | |
| 10 | + p0 = Product.create(:name => 'product1', :product_category => c0, :enterprise_id => profile.id) | |
| 10 | 11 | c0.reload |
| 11 | 12 | assert_equivalent [p0], c0.all_products |
| 12 | 13 | |
| 13 | 14 | c1 = ProductCategory.create!(:name => 'cat_1', :parent => c0, :environment => Environment.default) |
| 14 | - p1 = Product.create(:name => 'product2', :product_category => c1) | |
| 15 | + p1 = Product.create(:name => 'product2', :product_category => c1, :enterprise_id => profile.id) | |
| 15 | 16 | c0.reload; c1.reload |
| 16 | 17 | assert_equivalent [p0, p1], c0.all_products |
| 17 | 18 | assert_equivalent [p1], c1.all_products | ... | ... |
test/unit/product_test.rb
| ... | ... | @@ -5,11 +5,12 @@ class ProductTest < ActiveSupport::TestCase |
| 5 | 5 | def setup |
| 6 | 6 | ActiveSupport::TestCase::setup |
| 7 | 7 | @product_category = fast_create(ProductCategory, :name => 'Products') |
| 8 | + @profile = fast_create(Enterprise) | |
| 8 | 9 | end |
| 9 | 10 | |
| 10 | 11 | should 'create product' do |
| 11 | 12 | assert_difference Product, :count do |
| 12 | - p = Product.new(:name => 'test product1', :product_category => @product_category) | |
| 13 | + p = Product.new(:name => 'test product1', :product_category => @product_category, :enterprise_id => @profile.id) | |
| 13 | 14 | assert p.save |
| 14 | 15 | end |
| 15 | 16 | end |
| ... | ... | @@ -68,7 +69,7 @@ class ProductTest < ActiveSupport::TestCase |
| 68 | 69 | assert_difference Product, :count do |
| 69 | 70 | p = Product.create!(:name => 'test product1', :product_category => @product_category, :image_builder => { |
| 70 | 71 | :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png') |
| 71 | - }) | |
| 72 | + }, :enterprise_id => @profile.id) | |
| 72 | 73 | assert_equal p.image(true).filename, 'rails.png' |
| 73 | 74 | end |
| 74 | 75 | end |
| ... | ... | @@ -89,7 +90,7 @@ class ProductTest < ActiveSupport::TestCase |
| 89 | 90 | end |
| 90 | 91 | |
| 91 | 92 | should 'be indexed by category full name' do |
| 92 | - p = Product.new(:name => 'a test product', :product_category => @product_category) | |
| 93 | + p = Product.create(:name => 'a test product', :product_category => @product_category, :enterprise_id => @profile.id) | |
| 93 | 94 | p.stubs(:category_full_name).returns('interesting category') |
| 94 | 95 | p.save! |
| 95 | 96 | |
| ... | ... | @@ -147,7 +148,7 @@ class ProductTest < ActiveSupport::TestCase |
| 147 | 148 | |
| 148 | 149 | assert ProductCategorization.find(:first, :conditions => {:product_id => p, :category_id => cat}) |
| 149 | 150 | end |
| 150 | - | |
| 151 | + | |
| 151 | 152 | should 'categorize parent cateogries with product categorization' do |
| 152 | 153 | parent_cat = fast_create(ProductCategory, :name => 'test cat', :environment_id => Environment.default.id) |
| 153 | 154 | child_cat = fast_create(ProductCategory, :name => 'test cat', :environment_id => Environment.default.id, :parent_id => parent_cat.id) |
| ... | ... | @@ -362,7 +363,7 @@ class ProductTest < ActiveSupport::TestCase |
| 362 | 363 | |
| 363 | 364 | should 'index by schema name when database is postgresql' do |
| 364 | 365 | uses_postgresql 'schema_one' |
| 365 | - p1 = Product.create!(:name => 'some thing', :product_category => @product_category) | |
| 366 | + p1 = Product.create!(:name => 'some thing', :product_category => @product_category, :enterprise_id => @profile.id) | |
| 366 | 367 | assert_equal Product.find_by_contents('thing')[:results], [p1] |
| 367 | 368 | uses_postgresql 'schema_two' |
| 368 | 369 | p2 = Product.create!(:name => 'another thing', :product_category => @product_category) |
| ... | ... | @@ -376,9 +377,9 @@ class ProductTest < ActiveSupport::TestCase |
| 376 | 377 | |
| 377 | 378 | should 'not index by schema name when database is not postgresql' do |
| 378 | 379 | uses_sqlite |
| 379 | - p1 = Product.create!(:name => 'some thing', :product_category => @product_category) | |
| 380 | + p1 = Product.create!(:name => 'some thing', :product_category => @product_category, :enterprise_id => @profile.id) | |
| 380 | 381 | assert_equal Product.find_by_contents('thing')[:results], [p1] |
| 381 | - p2 = Product.create!(:name => 'another thing', :product_category => @product_category) | |
| 382 | + p2 = Product.create!(:name => 'another thing', :product_category => @product_category, :enterprise_id => @profile.id) | |
| 382 | 383 | assert_includes Product.find_by_contents('thing')[:results], p1 |
| 383 | 384 | assert_includes Product.find_by_contents('thing')[:results], p2 |
| 384 | 385 | end | ... | ... |
test/unit/profile_test.rb
| ... | ... | @@ -192,7 +192,8 @@ class ProfileTest < ActiveSupport::TestCase |
| 192 | 192 | assert_not_equal list.object_id, other_list.object_id |
| 193 | 193 | end |
| 194 | 194 | |
| 195 | - should 'be able to find profiles by their names with ferret' do | |
| 195 | +# This problem should be solved; talk to Bráulio if it fails | |
| 196 | + should 'be able to find profiles by their names' do | |
| 196 | 197 | small = create(Profile, :name => 'A small profile for testing') |
| 197 | 198 | big = create(Profile, :name => 'A big profile for testing') |
| 198 | 199 | |
| ... | ... | @@ -1669,7 +1670,7 @@ class ProfileTest < ActiveSupport::TestCase |
| 1669 | 1670 | should 'index by schema name when database is postgresql' do |
| 1670 | 1671 | uses_postgresql 'schema_one' |
| 1671 | 1672 | p1 = Profile.create!(:name => 'some thing', :identifier => 'some-thing') |
| 1672 | - assert_equal Profile.find_by_contents('thing')[:results], [p1] | |
| 1673 | + assert_equal [p1], Profile.find_by_contents('thing')[:results] | |
| 1673 | 1674 | uses_postgresql 'schema_two' |
| 1674 | 1675 | p2 = Profile.create!(:name => 'another thing', :identifier => 'another-thing') |
| 1675 | 1676 | assert_not_includes Profile.find_by_contents('thing')[:results], p1 | ... | ... |
test/unit/search_helper_test.rb
| ... | ... | @@ -1,69 +0,0 @@ |
| 1 | -require File.dirname(__FILE__) + '/../test_helper' | |
| 2 | - | |
| 3 | -class SearchHelperTest < ActiveSupport::TestCase | |
| 4 | - | |
| 5 | - include SearchHelper | |
| 6 | - | |
| 7 | - def _(any) | |
| 8 | - any | |
| 9 | - end | |
| 10 | - | |
| 11 | - def setup | |
| 12 | - @profile = mock | |
| 13 | - self.stubs(:profile_image).returns('profileimage.png') | |
| 14 | - self.stubs(:url_for).returns('link to profile') | |
| 15 | - profile.stubs(:name).returns('Name of Profile') | |
| 16 | - profile.stubs(:url).returns('') | |
| 17 | - profile.stubs(:products).returns([Product.new(:name => 'product test')]) | |
| 18 | - profile.stubs(:identifier).returns('name-of-profile') | |
| 19 | - profile.stubs(:region).returns(Region.new(:name => 'Brazil')) | |
| 20 | - end | |
| 21 | - attr_reader :profile | |
| 22 | - | |
| 23 | - should 'display profile info' do | |
| 24 | - profile.stubs(:address).returns('Address of Profile') | |
| 25 | - profile.stubs(:contact_email).returns('Email of Profile') | |
| 26 | - profile.stubs(:contact_phone).returns('Phone of Profile') | |
| 27 | - | |
| 28 | - result = self.display_profile_info(profile) | |
| 29 | - assert_match /profileimage.png/, result | |
| 30 | - assert_match /link to profile/, result | |
| 31 | - assert_match /Email of Profile/, result | |
| 32 | - assert_match /Phone of Profile/, result | |
| 33 | - assert_match /Address of Profile/, result | |
| 34 | - end | |
| 35 | - | |
| 36 | - should 'not display field if nil in profile info' do | |
| 37 | - profile.stubs(:address).returns('nil') | |
| 38 | - profile.stubs(:contact_email).returns('nil') | |
| 39 | - profile.stubs(:contact_phone).returns('nil') | |
| 40 | - | |
| 41 | - result = self.display_profile_info(profile) | |
| 42 | - assert_match /profileimage.png/, result | |
| 43 | - assert_match /link to profile/, result | |
| 44 | - assert_no_match /Email of Profile/, result | |
| 45 | - assert_no_match /Phone of Profile/, result | |
| 46 | - assert_no_match /Address of Profile/, result | |
| 47 | - end | |
| 48 | - | |
| 49 | - should 'link to products and services of an profile' do | |
| 50 | - enterprise = fast_create(Enterprise) | |
| 51 | - product1 = fast_create(Product, :enterprise_id => enterprise.id) | |
| 52 | - product2 = fast_create(Product, :enterprise_id => enterprise.id) | |
| 53 | - result = display_profile_info(enterprise) | |
| 54 | - assert_tag_in_string result, :tag => 'a', :attributes => {:href => /:id=>#{product1.id}/}, :content => product1.name | |
| 55 | - assert_tag_in_string result, :tag => 'a', :attributes => {:href => /:id=>#{product2.id}/}, :content => product2.name | |
| 56 | - end | |
| 57 | - | |
| 58 | - should 'link to manage_products controller on display_profile_info' do | |
| 59 | - enterprise = fast_create(Enterprise) | |
| 60 | - product = fast_create(Product, :enterprise_id => enterprise.id) | |
| 61 | - result = display_profile_info(enterprise) | |
| 62 | - assert_tag_in_string result, :tag => 'a', :attributes => {:href => /:controller=>\"manage_products\"/}, :content => product.name | |
| 63 | - assert_no_tag_in_string result, :tag => 'a', :attributes => {:href => /:id=>\"catalog\"/}, :content => product.name | |
| 64 | - end | |
| 65 | - | |
| 66 | - protected | |
| 67 | - include NoosferoTestHelper | |
| 68 | - | |
| 69 | -end |