Commit d05c0c85f33eccb9d72e7ff3d6f502f6f0a5be3a
1 parent
e7b5205f
Exists in
master
and in
8 other branches
Fixing search features
Moving solr specifics to the plugin
Showing
19 changed files
with
566 additions
and
465 deletions
Show diff stats
app/controllers/public/search_controller.rb
| ... | ... | @@ -105,7 +105,7 @@ class SearchController < PublicController |
| 105 | 105 | environment.events.by_day(@selected_day) |
| 106 | 106 | end |
| 107 | 107 | |
| 108 | - @scope = date_range ? environment.events.by_range(date_range) : environment.events | |
| 108 | + @scope = date_range && params[:action] == :events ? environment.events.by_range(date_range) : environment.events | |
| 109 | 109 | full_text_search |
| 110 | 110 | |
| 111 | 111 | events = @searches[@asset][:results] | ... | ... |
app/views/search/events.html.erb
features/browse.feature
features/profile_search.feature
| ... | ... | @@ -4,8 +4,7 @@ Feature: search inside a profile |
| 4 | 4 | In order to find stuff from a profile |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | - And the following users | |
| 7 | + Given the following users | |
| 9 | 8 | | login | name | |
| 10 | 9 | | joaosilva | Joao Silva | |
| 11 | 10 | And the following articles | ... | ... |
features/register_enterprise.feature
| ... | ... | @@ -201,10 +201,6 @@ Feature: register enterprise |
| 201 | 201 | When I follow "Manage my groups" |
| 202 | 202 | Then I should not see "My Enterprise" |
| 203 | 203 | |
| 204 | - Scenario: a user can see button to register new enterprise | |
| 205 | - When I am on /assets/enterprises | |
| 206 | - Then I should see "New enterprise" link | |
| 207 | - | |
| 208 | 204 | Scenario: a user cant see button to register new enterprise if enterprise_registration disabled |
| 209 | 205 | Given feature "enterprise_registration" is disabled on environment |
| 210 | 206 | When I am on /assets/enterprises | ... | ... |
features/search.feature
| ... | ... | @@ -4,8 +4,7 @@ Feature: search |
| 4 | 4 | In order to find stuff |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | - And feature "disable_asset_products" is disabled on environment | |
| 7 | + Given feature "disable_asset_products" is disabled on environment | |
| 9 | 8 | |
| 10 | 9 | Scenario: show empty results in all enabled assets |
| 11 | 10 | Given I go to the search page | ... | ... |
features/search_communities.feature
| ... | ... | @@ -4,8 +4,7 @@ Feature: search communities |
| 4 | 4 | In order to find ones that interest me |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | - And the following category | |
| 7 | + Given the following category | |
| 9 | 8 | | name | |
| 10 | 9 | | social network | |
| 11 | 10 | And the following community |
| ... | ... | @@ -34,82 +33,11 @@ Feature: search communities |
| 34 | 33 | And I should see "Noosfero Community" within ".only-one-result-box" |
| 35 | 34 | And I should see Noosfero Community's community image |
| 36 | 35 | |
| 37 | - Scenario: search communities by category | |
| 38 | - Given the following category | |
| 39 | - | name | | |
| 40 | - | Software Livre | | |
| 41 | - And the following community | |
| 42 | - | identifier | name | category | | |
| 43 | - | noos-comm | Noosfero Community | software-livre | | |
| 44 | - When I go to the search communities page | |
| 45 | - And I fill in "search-input" with "software livre" | |
| 46 | - And I press "Search" | |
| 47 | - Then I should see "Noosfero" within "#search-results" | |
| 48 | - | |
| 49 | - Scenario: see category facets when searching | |
| 50 | - Given the following categories as facets | |
| 51 | - | name | | |
| 52 | - | Temáticas | | |
| 53 | - And the following category | |
| 54 | - | name | parent | | |
| 55 | - | Software Livre | tematicas | | |
| 56 | - And the following community | |
| 57 | - | identifier | name | category | | |
| 58 | - | linux | Linux Community | software-livre | | |
| 59 | - When I go to the search communities page | |
| 60 | - And I fill in "search-input" with "Linux" | |
| 61 | - And I press "Search" | |
| 62 | - Then I should see "Temáticas" within "#facets-menu" | |
| 63 | - | |
| 64 | 36 | Scenario: find communities without exact query |
| 65 | 37 | Given the following communities |
| 66 | 38 | | identifier | name | |
| 67 | 39 | | luwac | Linux Users Without a Clue | |
| 68 | 40 | When I go to the search communities page |
| 69 | - And I fill in "search-input" with "Linux Clue" | |
| 41 | + And I fill in "search-input" with "Linux Users" | |
| 70 | 42 | And I press "Search" |
| 71 | 43 | Then I should see "Linux Users Without a Clue" within "#search-results" |
| 72 | - | |
| 73 | - Scenario: filter communities by facet | |
| 74 | - Given the following categories as facets | |
| 75 | - | name | | |
| 76 | - | Temáticas | | |
| 77 | - And the following category | |
| 78 | - | name | parent | | |
| 79 | - | Software Livre | tematicas | | |
| 80 | - | Big Brother | tematicas | | |
| 81 | - And the following communities | |
| 82 | - | identifier | name | category | | |
| 83 | - | noos-dev | Noosfero Developers | software-livre | | |
| 84 | - | facebook | Facebook Developers | big-brother | | |
| 85 | - When I go to the search communities page | |
| 86 | - And I fill in "search-input" with "Developers" | |
| 87 | - And I press "Search" | |
| 88 | - And I follow "Software Livre" within "#facets-menu" | |
| 89 | - Then I should see "Noosfero Developers" within "#search-results" | |
| 90 | - And I should not see "Facebook Developers" | |
| 91 | - # facet should also be de-selectable | |
| 92 | - When I follow "remove facet" within ".facet-selected" | |
| 93 | - Then I should see "Facebook Developers" | |
| 94 | - | |
| 95 | - Scenario: remember facet filter when searching new query | |
| 96 | - Given the following categories as facets | |
| 97 | - | name | | |
| 98 | - | Temáticas | | |
| 99 | - And the following category | |
| 100 | - | name | parent | | |
| 101 | - | Software Livre | tematicas | | |
| 102 | - | Other Category | tematicas | | |
| 103 | - And the following communities | |
| 104 | - | identifier | name | category | | |
| 105 | - | noos-dev | Noosfero Developers | software-livre | | |
| 106 | - | rails-dev | Rails Developers | other-category | | |
| 107 | - | rails-usr | Rails Users | software-livre | | |
| 108 | - When I go to the search communities page | |
| 109 | - And I fill in "search-input" with "Developers" | |
| 110 | - And I press "Search" | |
| 111 | - And I follow "Software Livre" within "#facets-menu" | |
| 112 | - And I fill in "search-input" with "Rails" | |
| 113 | - And I press "Search" | |
| 114 | - Then I should see "Rails Users" within "#search-results" | |
| 115 | - And I should not see "Rails Developers" | ... | ... |
features/search_contents.feature
| ... | ... | @@ -4,17 +4,13 @@ Feature: search contents |
| 4 | 4 | In order to find ones that interest me |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | - And the following users | |
| 7 | + Given the following users | |
| 9 | 8 | | login | name | |
| 10 | 9 | | joaosilva | Joao Silva | |
| 11 | 10 | And the following articles |
| 12 | 11 | | owner | name | body | |
| 13 | 12 | | joaosilva | bees and butterflies | this is an article about bees and butterflies | |
| 14 | 13 | | joaosilva | whales and dolphins | this is an article about whales and dolphins | |
| 15 | - And the following categories as facets | |
| 16 | - | name | | |
| 17 | - | Temáticas | | |
| 18 | 14 | |
| 19 | 15 | Scenario: show recent content on index |
| 20 | 16 | When I go to the search articles page |
| ... | ... | @@ -232,23 +228,8 @@ Feature: search contents |
| 232 | 228 | | sglaspell | Susan Glaspell | |
| 233 | 229 | And the article "whales and dolphins" is updated by "Susan Glaspell" |
| 234 | 230 | When I search contents for "whales" |
| 235 | - # Then show me the page | |
| 236 | 231 | Then I should see "by Susan Glaspell at" within ".search-article-author-changes" |
| 237 | 232 | |
| 238 | - Scenario: search articles by category | |
| 239 | - Given the following category | |
| 240 | - | name | | |
| 241 | - | Software Livre | | |
| 242 | - And the following articles | |
| 243 | - | owner | name | body | category | | |
| 244 | - | joaosilva | using noosfero | noosfero is a great CMS | software-livre | | |
| 245 | - When I go to the search articles page | |
| 246 | - And I fill in "search-input" with "Software" | |
| 247 | - And I press "Search" | |
| 248 | - Then I should see "using noosfero" within "#search-results" | |
| 249 | - And I should not see "bees and butterflies" | |
| 250 | - And I should not see "whales and dolphins" | |
| 251 | - | |
| 252 | 233 | Scenario: show basic info on blog search results |
| 253 | 234 | Given the following blogs |
| 254 | 235 | | owner | name | |
| ... | ... | @@ -284,55 +265,8 @@ Feature: search contents |
| 284 | 265 | When I search contents for "JSilva" |
| 285 | 266 | Then I should see "None" within ".search-blog-items" |
| 286 | 267 | |
| 287 | - Scenario: see default facets when searching | |
| 288 | - When I go to the search articles page | |
| 289 | - And I fill in "search-input" with "bees" | |
| 290 | - And I press "Search" | |
| 291 | - Then I should see "Type" within "#facets-menu" | |
| 292 | - And I should see "Published date" within "#facets-menu" | |
| 293 | - And I should see "Profile" within "#facets-menu" | |
| 294 | - And I should see "Categories" within "#facets-menu" | |
| 295 | - | |
| 296 | 268 | Scenario: find enterprises without exact query |
| 297 | 269 | When I go to the search articles page |
| 298 | - And I fill in "search-input" with "article bees" | |
| 270 | + And I fill in "search-input" with "bees and" | |
| 299 | 271 | And I press "Search" |
| 300 | 272 | Then I should see "bees and butterflies" within "#search-results" |
| 301 | - | |
| 302 | - Scenario: filter contents by facet | |
| 303 | - Given the following categories | |
| 304 | - | name | parent | | |
| 305 | - | Software Livre | tematicas | | |
| 306 | - | Big Brother | tematicas | | |
| 307 | - And the following articles | |
| 308 | - | owner | name | body | category | | |
| 309 | - | joaosilva | noosfero and debian | this is an article about noosfero and debian | software-livre | | |
| 310 | - | joaosilva | facebook and 1984 | this is an article about facebook and 1984 | big-brother | | |
| 311 | - When I go to the search articles page | |
| 312 | - And I fill in "search-input" with "this is an article" | |
| 313 | - And I press "Search" | |
| 314 | - # Then show me the page | |
| 315 | - And I follow "Software Livre" within "#facets-menu" | |
| 316 | - Then I should see "noosfero and debian" within "#search-results" | |
| 317 | - And I should not see "facebook and 1984" | |
| 318 | - # facet should also be de-selectable | |
| 319 | - When I follow "remove facet" within ".facet-selected" | |
| 320 | - Then I should see "facebook and 1984" | |
| 321 | - | |
| 322 | - Scenario: remember facet filter when searching new query | |
| 323 | - Given the following category | |
| 324 | - | name | parent | | |
| 325 | - | Software Livre | tematicas | | |
| 326 | - And the following articles | |
| 327 | - | owner | name | body | category | | |
| 328 | - | joaosilva | noosfero and debian | this is an article about noosfero and debian | software-livre | | |
| 329 | - | joaosilva | facebook and 1984 | this is an article about facebook and 1984 | big-brother | | |
| 330 | - | joaosilva | facebook defense | facebook is not so bad | software-livre | | |
| 331 | - When I go to the search articles page | |
| 332 | - And I fill in "search-input" with "this is an article" | |
| 333 | - And I press "Search" | |
| 334 | - And I follow "Software Livre" within "#facets-menu" | |
| 335 | - And I fill in "search-input" with "facebook" | |
| 336 | - And I press "Search" | |
| 337 | - Then I should see "facebook defense" within "#search-results" | |
| 338 | - And I should not see "1984" | ... | ... |
features/search_enterprises.feature
| ... | ... | @@ -4,14 +4,10 @@ Feature: search enterprises |
| 4 | 4 | In order to find ones that interest me |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | 7 | And the following enterprises |
| 9 | 8 | | identifier | name | img | |
| 10 | 9 | | shop1 | Shoes shop | shoes | |
| 11 | 10 | | shop2 | Fruits shop | fruits | |
| 12 | - And the following categories as facets | |
| 13 | - | name | | |
| 14 | - | Temáticas | | |
| 15 | 11 | |
| 16 | 12 | Scenario: show recent enterprises on index |
| 17 | 13 | Given there are no pending jobs |
| ... | ... | @@ -44,6 +40,7 @@ Feature: search enterprises |
| 44 | 40 | | owner | name | body | homepage | |
| 45 | 41 | | shop1 | Shoes home | This is the <i>homepage</i> of Shoes shop! It has a very long and pretty vague description, just so we can test wether the system will correctly create an excerpt of this text. We should probably talk about shoes. | true | |
| 46 | 42 | When I search enterprises for "shoes" |
| 43 | + And I follow "Full" | |
| 47 | 44 | Then I should see "This is the homepage of" within ".search-enterprise-description" |
| 48 | 45 | And I should see "about sho..." within ".search-enterprise-description" |
| 49 | 46 | |
| ... | ... | @@ -52,114 +49,15 @@ Feature: search enterprises |
| 52 | 49 | | identifier | name | description | |
| 53 | 50 | | shop3 | Clothes shop | This <b>clothes</b> shop also sells shoes! This too has a very long and pretty vague description, just so we can test wether the system will correctly create an excerpt of this text. Clothes are a really important part of our lives. | |
| 54 | 51 | When I search enterprises for "clothes" |
| 52 | + And I follow "Full" | |
| 55 | 53 | And I should see "This clothes shop" within ".search-enterprise-description" |
| 56 | 54 | And I should see "really import..." within ".search-enterprise-description" |
| 57 | 55 | |
| 58 | - Scenario: see default facets when searching | |
| 59 | - When I go to the search enterprises page | |
| 60 | - And I fill in "search-input" with "shoes" | |
| 61 | - And I press "Search" | |
| 62 | - Then I should see "City" within "#facets-menu" | |
| 63 | - | |
| 64 | - Scenario: see category facets when searching | |
| 65 | - When I go to the search enterprises page | |
| 66 | - And I fill in "search-input" with "shoes" | |
| 67 | - And I press "Search" | |
| 68 | - Then I should see "Temáticas" within "#facets-menu" | |
| 69 | - | |
| 70 | - Scenario: see region on facets and results | |
| 71 | - Given the following cities | |
| 72 | - | name | state | | |
| 73 | - | Pres. Prudente | SP | | |
| 74 | - And the following enterprises | |
| 75 | - | identifier | name | region | | |
| 76 | - | art-pp | Artesanato PP | Pres. Prudente | | |
| 77 | - When I go to the search enterprises page | |
| 78 | - And I fill in "search-input" with "Artesanato" | |
| 79 | - And I press "Search" | |
| 80 | - Then I should see "Pres. Prudente" within "#facet-menu-f_region" | |
| 81 | - And I should see ", SP" within "#facet-menu-f_region" | |
| 82 | - And I should see "City" within ".search-enterprise-region-label" | |
| 83 | - And I should see "Pres. Prudente, SP" within ".search-enterprise-region-name" | |
| 84 | - | |
| 85 | - Scenario: find enterprise by region | |
| 86 | - Given the following cities | |
| 87 | - | name | state | | |
| 88 | - | Pres. Prudente | SP | | |
| 89 | - And the following enterprises | |
| 90 | - | identifier | name | region | | |
| 91 | - | art-pp | Artesanato PP | Pres. Prudente | | |
| 92 | - When I go to the search enterprises page | |
| 93 | - And I fill in "search-input" with "Prudente" | |
| 94 | - And I press "Search" | |
| 95 | - Then I should see "Artesanato PP" within "#search-results" | |
| 96 | - | |
| 97 | - Scenario: find enterprise by category | |
| 98 | - Given the following categories | |
| 99 | - | name | | |
| 100 | - | Software Livre | | |
| 101 | - And the following enterprises | |
| 102 | - | identifier | name | category | | |
| 103 | - | noosfero | Noosfero | software-livre | | |
| 104 | - When I go to the search enterprises page | |
| 105 | - And I fill in "search-input" with "software" | |
| 106 | - And I press "Search" | |
| 107 | - Then I should see "Noosfero" within "#search-results" | |
| 108 | - And I should see "Software Livre" within ".search-enterprise-category" | |
| 109 | - | |
| 110 | - Scenario: show category hierarchy on search results | |
| 111 | - Given the following categories | |
| 112 | - | name | parent | | |
| 113 | - | Software Livre | | | |
| 114 | - | Rails | software-livre | | |
| 115 | - And the following enterprises | |
| 116 | - | identifier | name | category | | |
| 117 | - | noosfero | Noosfero | rails | | |
| 118 | - When I search enterprises for "Rails" | |
| 119 | - Then I should see "Software Livre" within ".search-enterprise-category" | |
| 120 | - And I should see "Rails" within ".search-enterprise-category" | |
| 121 | - | |
| 122 | 56 | Scenario: find enterprises without exact query |
| 123 | 57 | Given the following enterprises |
| 124 | 58 | | identifier | name | |
| 125 | 59 | | noosfero | Noosfero Developers Association | |
| 126 | 60 | When I go to the search enterprises page |
| 127 | - And I fill in "search-input" with "Noosfero Association" | |
| 61 | + And I fill in "search-input" with "Noosfero Developers" | |
| 128 | 62 | And I press "Search" |
| 129 | 63 | Then I should see "Noosfero Developers Association" within "#search-results" |
| 130 | - | |
| 131 | - Scenario: filter enterprises by facet | |
| 132 | - Given the following category | |
| 133 | - | name | parent | | |
| 134 | - | Software Livre | tematicas | | |
| 135 | - And the following enterprises | |
| 136 | - | identifier | name | category | | |
| 137 | - | noosfero | Noosfero Developers | software-livre | | |
| 138 | - | facebook | Facebook Developers | | | |
| 139 | - When I go to the search enterprises page | |
| 140 | - And I fill in "search-input" with "Developers" | |
| 141 | - And I press "Search" | |
| 142 | - And I follow "Software Livre" within "#facets-menu" | |
| 143 | - Then I should see "Noosfero Developers" within "#search-results" | |
| 144 | - And I should not see "Facebook Developers" | |
| 145 | - # facet should also be de-selectable | |
| 146 | - When I follow "remove facet" within ".facet-selected" | |
| 147 | - Then I should see "Facebook Developers" | |
| 148 | - | |
| 149 | - Scenario: remember facet filter when searching new query | |
| 150 | - Given the following category | |
| 151 | - | name | parent | | |
| 152 | - | Software Livre | tematicas | | |
| 153 | - And the following enterprises | |
| 154 | - | identifier | name | category | | |
| 155 | - | noosfero | Noosfero Developers | software-livre | | |
| 156 | - | rails-dev | Rails Developers | | | |
| 157 | - | rails-usr | Rails Users | software-livre | | |
| 158 | - When I go to the search enterprises page | |
| 159 | - And I fill in "search-input" with "Developers" | |
| 160 | - And I press "Search" | |
| 161 | - And I follow "Software Livre" within "#facets-menu" | |
| 162 | - And I fill in "search-input" with "Rails" | |
| 163 | - And I press "Search" | |
| 164 | - Then I should see "Rails Users" within "#search-results" | |
| 165 | - And I should not see "Rails Developers" | ... | ... |
features/search_people.feature
| ... | ... | @@ -4,8 +4,7 @@ Feature: search people |
| 4 | 4 | In order to find ones that interest me |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | - And the following users | |
| 7 | + Given the following users | |
| 9 | 8 | | login | name | |
| 10 | 9 | | joaosilva | Joao Silva | |
| 11 | 10 | | josearaujo | Jose Araujo | |
| ... | ... | @@ -27,76 +26,11 @@ Feature: search people |
| 27 | 26 | When I search people for "something unrelated" |
| 28 | 27 | Then I should see "None" within ".search-results-type-empty" |
| 29 | 28 | |
| 30 | - Scenario: see category facets when searching | |
| 31 | - Given the following categories as facets | |
| 32 | - | name | | |
| 33 | - | Temáticas | | |
| 34 | - When I go to the search people page | |
| 35 | - And I fill in "search-input" with "joao" | |
| 36 | - And I press "Search" | |
| 37 | - Then I should see "Temáticas" within "#facets-menu" | |
| 38 | - | |
| 39 | - Scenario: search people by category | |
| 40 | - Given the following category | |
| 41 | - | name | | |
| 42 | - | Software Livre | | |
| 43 | - And the following users | |
| 44 | - | login | name | category | | |
| 45 | - | linus | Linus Torvalds | software-livre | | |
| 46 | - When I go to the search people page | |
| 47 | - And I fill in "search-input" with "software livre" | |
| 48 | - And I press "Search" | |
| 49 | - Then I should see "Linus Torvalds" within "#search-results" | |
| 50 | - And I should not see "Joao Silva" | |
| 51 | - And I should not see "Jose Araujo" | |
| 52 | - | |
| 53 | 29 | Scenario: find person without exact query |
| 54 | 30 | Given the following users |
| 55 | 31 | | login | name | |
| 56 | 32 | | jsilva | Joao Adalberto de Oliveira Silva | |
| 57 | 33 | When I go to the search people page |
| 58 | - And I fill in "search-input" with "Adalberto Silva" | |
| 34 | + And I fill in "search-input" with "Adalberto de Oliveira" | |
| 59 | 35 | And I press "Search" |
| 60 | 36 | Then I should see "Joao Adalberto de Oliveira Silva" within "#search-results" |
| 61 | - | |
| 62 | - Scenario: filter people by facet | |
| 63 | - Given the following categories as facets | |
| 64 | - | name | | |
| 65 | - | Temáticas | | |
| 66 | - And the following category | |
| 67 | - | name | parent | | |
| 68 | - | Software Livre | tematicas | | |
| 69 | - And the following users | |
| 70 | - | login | name | category | | |
| 71 | - | linus | Linus Torvalds | software-livre | | |
| 72 | - | other | Other Linus | | | |
| 73 | - When I go to the search people page | |
| 74 | - And I fill in "search-input" with "Linus" | |
| 75 | - And I press "Search" | |
| 76 | - And I follow "Software Livre" within "#facets-menu" | |
| 77 | - Then I should see "Linus Torvalds" within "#search-results" | |
| 78 | - And I should not see "Other Linus" | |
| 79 | - # facet should also be de-selectable | |
| 80 | - When I follow "remove facet" within ".facet-selected" | |
| 81 | - Then I should see "Other Linus" | |
| 82 | - | |
| 83 | - Scenario: remember facet filter when searching new query | |
| 84 | - Given the following categories as facets | |
| 85 | - | name | | |
| 86 | - | Temáticas | | |
| 87 | - And the following category | |
| 88 | - | name | parent | | |
| 89 | - | Software Livre | tematicas | | |
| 90 | - And the following users | |
| 91 | - | login | name | category | | |
| 92 | - | linus | Linus Torvalds | software-livre | | |
| 93 | - | rilin | Richard Linus | | | |
| 94 | - | stall | Richard Stallman | software-livre | | |
| 95 | - When I go to the search people page | |
| 96 | - And I fill in "search-input" with "Linus" | |
| 97 | - And I press "Search" | |
| 98 | - And I follow "Software Livre" within "#facets-menu" | |
| 99 | - And I fill in "search-input" with "Richard" | |
| 100 | - And I press "Search" | |
| 101 | - Then I should see "Richard Stallman" within "#search-results" | |
| 102 | - And I should not see "Richard Linus" | ... | ... |
features/search_products.feature
| ... | ... | @@ -4,8 +4,7 @@ Feature: search products |
| 4 | 4 | In order to find ones that interest me |
| 5 | 5 | |
| 6 | 6 | Background: |
| 7 | - Given the search index is empty | |
| 8 | - And feature "disable_asset_products" is disabled on environment | |
| 7 | + Given feature "disable_asset_products" is disabled on environment | |
| 9 | 8 | And the following enterprises |
| 10 | 9 | | identifier | name | |
| 11 | 10 | | colivre-ent | Colivre | |
| ... | ... | @@ -22,11 +21,6 @@ Feature: search products |
| 22 | 21 | Then I should see "wikis consultancy" within "#search-results" |
| 23 | 22 | And I should see "social networks consultancy" within "#search-results" |
| 24 | 23 | |
| 25 | - Scenario: not show pagination and facets on recent products | |
| 26 | - When I go to the search products page | |
| 27 | - Then The page should not contain "div.pagination" | |
| 28 | - And The page should not contain "#facets-menu" | |
| 29 | - | |
| 30 | 24 | Scenario: show empty search results |
| 31 | 25 | When I search products for "something unrelated" |
| 32 | 26 | Then I should see "None" within ".search-results-type-empty" |
| ... | ... | @@ -40,14 +34,6 @@ Feature: search products |
| 40 | 34 | And I should not see "social networks consultancy" |
| 41 | 35 | And I should not see social networks consultancy's product image |
| 42 | 36 | |
| 43 | - Scenario: see default facets when searching | |
| 44 | - When I go to the search products page | |
| 45 | - And I fill in "search-input" with "wikis" | |
| 46 | - And I press "Search" | |
| 47 | - Then I should see "Related products" within "#facets-menu" | |
| 48 | - Then I should see "City" within "#facets-menu" | |
| 49 | - Then I should see "Qualifiers" within "#facets-menu" | |
| 50 | - | |
| 51 | 37 | Scenario: show percentage (100%) of solidary economy inputs in results |
| 52 | 38 | Given the following inputs |
| 53 | 39 | | product | category | solidary | |
| ... | ... | @@ -101,58 +87,6 @@ Feature: search products |
| 101 | 87 | Then I should not see "No image" |
| 102 | 88 | And I should see "Zoom in" within "a.zoomify-image" |
| 103 | 89 | |
| 104 | - Scenario: search products by category | |
| 105 | - Given the following product_category | |
| 106 | - | name | | |
| 107 | - | Software Livre | | |
| 108 | - And the following product | |
| 109 | - | owner | name | category | | |
| 110 | - | colivre-ent | Noosfero | software-livre | | |
| 111 | - When I go to the search products page | |
| 112 | - And I fill in "search-input" with "software livre" | |
| 113 | - And I press "Search" | |
| 114 | - Then I should see "Noosfero" within "#search-results" | |
| 115 | - And I should not see "wikis consultancy" | |
| 116 | - And I should not see "social networks consultancy" | |
| 117 | - | |
| 118 | - Scenario: see region on facets and results | |
| 119 | - Given the following cities | |
| 120 | - | name | state | | |
| 121 | - | Pres. Prudente | SP | | |
| 122 | - And the following enterprise | |
| 123 | - | identifier | name | region | | |
| 124 | - | art-pp | Artesanato PP | Pres. Prudente | | |
| 125 | - And the following product_category | |
| 126 | - | name | | |
| 127 | - | Solidária | | |
| 128 | - And the following product | |
| 129 | - | owner | name | category | | |
| 130 | - | art-pp | Arte em Madeira | solidaria | | |
| 131 | - When I go to the search products page | |
| 132 | - And I fill in "search-input" with "Madeira" | |
| 133 | - And I press "Search" | |
| 134 | - Then I should see "Pres. Prudente" within "#facet-menu-f_region" | |
| 135 | - And I should see ", SP" within "#facet-menu-f_region" | |
| 136 | - And I should see "Pres. Prudente, SP" within "#search-results" | |
| 137 | - | |
| 138 | - Scenario: find product by region | |
| 139 | - Given the following cities | |
| 140 | - | name | state | | |
| 141 | - | Pres. Prudente | SP | | |
| 142 | - And the following enterprise | |
| 143 | - | identifier | name | region | | |
| 144 | - | art-pp | Artesanato PP | Pres. Prudente | | |
| 145 | - And the following product_category | |
| 146 | - | name | | |
| 147 | - | Solidária | | |
| 148 | - And the following product | |
| 149 | - | owner | name | category | | |
| 150 | - | art-pp | Arte em Madeira | solidaria | | |
| 151 | - When I go to the search products page | |
| 152 | - And I fill in "search-input" with "Prudente" | |
| 153 | - And I press "Search" | |
| 154 | - Then I should see "Arte em Madeira" within "#search-results" | |
| 155 | - | |
| 156 | 90 | Scenario: find products without exact query |
| 157 | 91 | Given the following product_category |
| 158 | 92 | | name | |
| ... | ... | @@ -161,63 +95,10 @@ Feature: search products |
| 161 | 95 | | owner | name | category | |
| 162 | 96 | | colivre-ent | Noosfero Social Network Platform | software-livre | |
| 163 | 97 | When I go to the search products page |
| 164 | - And I fill in "search-input" with "Noosfero Network" | |
| 98 | + And I fill in "search-input" with "Noosfero Social" | |
| 165 | 99 | And I press "Search" |
| 166 | 100 | Then I should see "Noosfero Social Network Platform" within "#search-results" |
| 167 | 101 | |
| 168 | - Scenario: filter products by facet | |
| 169 | - Given the following enterprises | |
| 170 | - | identifier | name | | |
| 171 | - | fb | FB inc. | | |
| 172 | - And the following categories as facets | |
| 173 | - | name | | |
| 174 | - | Temáticas | | |
| 175 | - And the following product_categories | |
| 176 | - | name | parent | | |
| 177 | - | Software Livre | tematicas | | |
| 178 | - | Big Brother | tematicas | | |
| 179 | - And the following products | |
| 180 | - | owner | name | category | | |
| 181 | - | colivre-ent | Noosfero Network | software-livre | | |
| 182 | - | fb | Facebook Network | big-brother | | |
| 183 | - When I go to the search products page | |
| 184 | - And I fill in "search-input" with "Network" | |
| 185 | - And I press "Search" | |
| 186 | - And I follow "Software Livre" within "#facets-menu" | |
| 187 | - Then I should see "Noosfero Network" within "#search-results" | |
| 188 | - And I should not see "Facebook Network" | |
| 189 | - # facet should also be de-selectable | |
| 190 | - When I follow "remove facet" within ".facet-selected" | |
| 191 | - Then I should see "Facebook Network" | |
| 192 | - | |
| 193 | - Scenario: remember facet filter when searching new query | |
| 194 | - Given the following enterprises | |
| 195 | - | identifier | name | | |
| 196 | - | fb | FB inc. | | |
| 197 | - | other | Other | | |
| 198 | - And the following categories as facets | |
| 199 | - | name | | |
| 200 | - | Temáticas | | |
| 201 | - And the following product_categories | |
| 202 | - | name | parent | | |
| 203 | - | Software Livre | tematicas | | |
| 204 | - | Big Brother | tematicas | | |
| 205 | - | Other | tematicas | | |
| 206 | - And the following products | |
| 207 | - | owner | name | category | | |
| 208 | - | colivre-ent | Noosfero Network | software-livre | | |
| 209 | - | fb | Facebook Network | big-brother | | |
| 210 | - | other | Other open | software-livre | | |
| 211 | - | other | Other closed | big-brother | | |
| 212 | - When I go to the search products page | |
| 213 | - And I fill in "search-input" with "Network" | |
| 214 | - And I press "Search" | |
| 215 | - And I follow "Software Livre" within "#facets-menu" | |
| 216 | - And I fill in "search-input" with "Other" | |
| 217 | - And I press "Search" | |
| 218 | - Then I should see "Other open" within "#search-results" | |
| 219 | - And I should not see "Other closed" | |
| 220 | - | |
| 221 | 102 | Scenario: don't search when products are disabled in environment |
| 222 | 103 | Given feature "disable_asset_products" is enabled on environment |
| 223 | 104 | When I go to the search products page | ... | ... |
features/step_definitions/noosfero_steps.rb
| ... | ... | @@ -615,25 +615,6 @@ Given /^([^\s]+) (enabled|disabled) translation redirection in (?:his|her) profi |
| 615 | 615 | profile.save |
| 616 | 616 | end |
| 617 | 617 | |
| 618 | -Given /^the search index is empty$/ do | |
| 619 | - ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => '*:*')) | |
| 620 | -end | |
| 621 | - | |
| 622 | -# This could be merged with "the following categories" | |
| 623 | -Given /^the following categories as facets$/ do |table| | |
| 624 | - ids = [] | |
| 625 | - table.hashes.each do |item| | |
| 626 | - cat = Category.find_by_name(item[:name]) | |
| 627 | - if cat.nil? | |
| 628 | - cat = Category.create!(:environment_id => Environment.default.id, :name => item[:name]) | |
| 629 | - end | |
| 630 | - ids << cat.id | |
| 631 | - end | |
| 632 | - env = Environment.default | |
| 633 | - env.top_level_category_as_facet_ids = ids | |
| 634 | - env.save! | |
| 635 | -end | |
| 636 | - | |
| 637 | 618 | Given /^the following cities$/ do |table| |
| 638 | 619 | table.hashes.each do |item| |
| 639 | 620 | state = State.find_by_acronym item[:state] | ... | ... |
No preview for this file type
| ... | ... | @@ -0,0 +1,93 @@ |
| 1 | +Feature: search | |
| 2 | + As a noosfero user | |
| 3 | + I want to search | |
| 4 | + In order to find stuff | |
| 5 | + | |
| 6 | + Background: | |
| 7 | + Given the search index is empty | |
| 8 | + And the following category | |
| 9 | + | name | | |
| 10 | + | social network | | |
| 11 | + And the following community | |
| 12 | + | identifier | name | category | img | | |
| 13 | + | noosfero | Noosfero Community | social-network | noosfero-network | | |
| 14 | + | |
| 15 | + Scenario: search communities by category | |
| 16 | + Given the following category | |
| 17 | + | name | | |
| 18 | + | Software Livre | | |
| 19 | + And the following community | |
| 20 | + | identifier | name | category | | |
| 21 | + | noos-comm | Noosfero Community | software-livre | | |
| 22 | + When I go to the search communities page | |
| 23 | + And I fill in "search-input" with "software livre" | |
| 24 | + And I press "Search" | |
| 25 | + Then I should see "Noosfero" within "#search-results" | |
| 26 | + | |
| 27 | + Scenario: see category facets when searching | |
| 28 | + Given the following categories as facets | |
| 29 | + | name | | |
| 30 | + | Temáticas | | |
| 31 | + And the following category | |
| 32 | + | name | parent | | |
| 33 | + | Software Livre | tematicas | | |
| 34 | + And the following community | |
| 35 | + | identifier | name | category | | |
| 36 | + | linux | Linux Community | software-livre | | |
| 37 | + When I go to the search communities page | |
| 38 | + And I fill in "search-input" with "Linux" | |
| 39 | + And I press "Search" | |
| 40 | + Then I should see "Temáticas" within "#facets-menu" | |
| 41 | + | |
| 42 | + Scenario: find communities without exact query | |
| 43 | + Given the following communities | |
| 44 | + | identifier | name | | |
| 45 | + | luwac | Linux Users Without a Clue | | |
| 46 | + When I go to the search communities page | |
| 47 | + And I fill in "search-input" with "Linux Clue" | |
| 48 | + And I press "Search" | |
| 49 | + Then I should see "Linux Users Without a Clue" within "#search-results" | |
| 50 | + | |
| 51 | + Scenario: filter communities by facet | |
| 52 | + Given the following categories as facets | |
| 53 | + | name | | |
| 54 | + | Temáticas | | |
| 55 | + And the following category | |
| 56 | + | name | parent | | |
| 57 | + | Software Livre | tematicas | | |
| 58 | + | Big Brother | tematicas | | |
| 59 | + And the following communities | |
| 60 | + | identifier | name | category | | |
| 61 | + | noos-dev | Noosfero Developers | software-livre | | |
| 62 | + | facebook | Facebook Developers | big-brother | | |
| 63 | + When I go to the search communities page | |
| 64 | + And I fill in "search-input" with "Developers" | |
| 65 | + And I press "Search" | |
| 66 | + And I follow "Software Livre" within "#facets-menu" | |
| 67 | + Then I should see "Noosfero Developers" within "#search-results" | |
| 68 | + And I should not see "Facebook Developers" | |
| 69 | + # facet should also be de-selectable | |
| 70 | + When I follow "remove facet" within ".facet-selected" | |
| 71 | + Then I should see "Facebook Developers" | |
| 72 | + | |
| 73 | + Scenario: remember facet filter when searching new query | |
| 74 | + Given the following categories as facets | |
| 75 | + | name | | |
| 76 | + | Temáticas | | |
| 77 | + And the following category | |
| 78 | + | name | parent | | |
| 79 | + | Software Livre | tematicas | | |
| 80 | + | Other Category | tematicas | | |
| 81 | + And the following communities | |
| 82 | + | identifier | name | category | | |
| 83 | + | noos-dev | Noosfero Developers | software-livre | | |
| 84 | + | rails-dev | Rails Developers | other-category | | |
| 85 | + | rails-usr | Rails Users | software-livre | | |
| 86 | + When I go to the search communities page | |
| 87 | + And I fill in "search-input" with "Developers" | |
| 88 | + And I press "Search" | |
| 89 | + And I follow "Software Livre" within "#facets-menu" | |
| 90 | + And I fill in "search-input" with "Rails" | |
| 91 | + And I press "Search" | |
| 92 | + Then I should see "Rails Users" within "#search-results" | |
| 93 | + And I should not see "Rails Developers" | ... | ... |
| ... | ... | @@ -0,0 +1,84 @@ |
| 1 | +Feature: search contents | |
| 2 | + As a noosfero user | |
| 3 | + I want to search contents | |
| 4 | + In order to find ones that interest me | |
| 5 | + | |
| 6 | + Background: | |
| 7 | + Given the search index is empty | |
| 8 | + And the following users | |
| 9 | + Given the following users | |
| 10 | + | login | name | | |
| 11 | + | joaosilva | Joao Silva | | |
| 12 | + And the following articles | |
| 13 | + | owner | name | body | | |
| 14 | + | joaosilva | bees and butterflies | this is an article about bees and butterflies | | |
| 15 | + | joaosilva | whales and dolphins | this is an article about whales and dolphins | | |
| 16 | + And the following categories as facets | |
| 17 | + | name | | |
| 18 | + | Temáticas | | |
| 19 | + | |
| 20 | + Scenario: search articles by category | |
| 21 | + Given the following category | |
| 22 | + | name | | |
| 23 | + | Software Livre | | |
| 24 | + And the following articles | |
| 25 | + | owner | name | body | category | | |
| 26 | + | joaosilva | using noosfero | noosfero is a great CMS | software-livre | | |
| 27 | + When I go to the search articles page | |
| 28 | + And I fill in "search-input" with "Software" | |
| 29 | + And I press "Search" | |
| 30 | + Then I should see "using noosfero" within "#search-results" | |
| 31 | + And I should not see "bees and butterflies" | |
| 32 | + And I should not see "whales and dolphins" | |
| 33 | + | |
| 34 | + Scenario: see default facets when searching | |
| 35 | + When I go to the search articles page | |
| 36 | + And I fill in "search-input" with "bees" | |
| 37 | + And I press "Search" | |
| 38 | + Then I should see "Type" within "#facets-menu" | |
| 39 | + And I should see "Published date" within "#facets-menu" | |
| 40 | + And I should see "Profile" within "#facets-menu" | |
| 41 | + And I should see "Categories" within "#facets-menu" | |
| 42 | + | |
| 43 | + Scenario: find enterprises without exact query | |
| 44 | + When I go to the search articles page | |
| 45 | + And I fill in "search-input" with "bees and" | |
| 46 | + And I press "Search" | |
| 47 | + Then I should see "bees and butterflies" within "#search-results" | |
| 48 | + | |
| 49 | + Scenario: filter contents by facet | |
| 50 | + Given the following categories | |
| 51 | + | name | parent | | |
| 52 | + | Software Livre | tematicas | | |
| 53 | + | Big Brother | tematicas | | |
| 54 | + And the following articles | |
| 55 | + | owner | name | body | category | | |
| 56 | + | joaosilva | noosfero and debian | this is an article about noosfero and debian | software-livre | | |
| 57 | + | joaosilva | facebook and 1984 | this is an article about facebook and 1984 | big-brother | | |
| 58 | + When I go to the search articles page | |
| 59 | + And I fill in "search-input" with "this is an article" | |
| 60 | + And I press "Search" | |
| 61 | + And I follow "Software Livre" within "#facets-menu" | |
| 62 | + Then I should see "noosfero and debian" within "#search-results" | |
| 63 | + And I should not see "facebook and 1984" | |
| 64 | + # facet should also be de-selectable | |
| 65 | + When I follow "remove facet" within ".facet-selected" | |
| 66 | + Then I should see "facebook and 1984" | |
| 67 | + | |
| 68 | + Scenario: remember facet filter when searching new query | |
| 69 | + Given the following category | |
| 70 | + | name | parent | | |
| 71 | + | Software Livre | tematicas | | |
| 72 | + And the following articles | |
| 73 | + | owner | name | body | category | | |
| 74 | + | joaosilva | noosfero and debian | this is an article about noosfero and debian | software-livre | | |
| 75 | + | joaosilva | facebook and 1984 | this is an article about facebook and 1984 | big-brother | | |
| 76 | + | joaosilva | facebook defense | facebook is not so bad | software-livre | | |
| 77 | + When I go to the search articles page | |
| 78 | + And I fill in "search-input" with "this is an article" | |
| 79 | + And I press "Search" | |
| 80 | + And I follow "Software Livre" within "#facets-menu" | |
| 81 | + And I fill in "search-input" with "facebook" | |
| 82 | + And I press "Search" | |
| 83 | + Then I should see "facebook defense" within "#search-results" | |
| 84 | + And I should not see "1984" | ... | ... |
| ... | ... | @@ -0,0 +1,122 @@ |
| 1 | +Feature: search enterprises | |
| 2 | + As a noosfero user | |
| 3 | + I want to search enterprises | |
| 4 | + In order to find ones that interest me | |
| 5 | + | |
| 6 | + Background: | |
| 7 | + Given the search index is empty | |
| 8 | + And the following enterprises | |
| 9 | + | identifier | name | img | | |
| 10 | + | shop1 | Shoes shop | shoes | | |
| 11 | + | shop2 | Fruits shop | fruits | | |
| 12 | + And the following categories as facets | |
| 13 | + | name | | |
| 14 | + | Temáticas | | |
| 15 | + Scenario: see default facets when searching | |
| 16 | + When I go to the search enterprises page | |
| 17 | + And I fill in "search-input" with "shoes" | |
| 18 | + And I press "Search" | |
| 19 | + Then I should see "City" within "#facets-menu" | |
| 20 | + | |
| 21 | + Scenario: see category facets when searching | |
| 22 | + When I go to the search enterprises page | |
| 23 | + And I fill in "search-input" with "shoes" | |
| 24 | + And I press "Search" | |
| 25 | + Then I should see "Temáticas" within "#facets-menu" | |
| 26 | + | |
| 27 | + Scenario: see region on facets and results | |
| 28 | + Given the following cities | |
| 29 | + | name | state | | |
| 30 | + | Pres. Prudente | SP | | |
| 31 | + And the following enterprises | |
| 32 | + | identifier | name | region | | |
| 33 | + | art-pp | Artesanato PP | Pres. Prudente | | |
| 34 | + When I go to the search enterprises page | |
| 35 | + And I fill in "search-input" with "Artesanato" | |
| 36 | + And I press "Search" | |
| 37 | + Then I should see "Pres. Prudente" within "#facet-menu-f_region" | |
| 38 | + And I should see ", SP" within "#facet-menu-f_region" | |
| 39 | + And I should see "City" within ".search-enterprise-region-label" | |
| 40 | + And I should see "Pres. Prudente, SP" within ".search-enterprise-region-name" | |
| 41 | + | |
| 42 | + Scenario: find enterprise by region | |
| 43 | + Given the following cities | |
| 44 | + | name | state | | |
| 45 | + | Pres. Prudente | SP | | |
| 46 | + And the following enterprises | |
| 47 | + | identifier | name | region | | |
| 48 | + | art-pp | Artesanato PP | Pres. Prudente | | |
| 49 | + When I go to the search enterprises page | |
| 50 | + And I fill in "search-input" with "Prudente" | |
| 51 | + And I press "Search" | |
| 52 | + Then I should see "Artesanato PP" within "#search-results" | |
| 53 | + | |
| 54 | + Scenario: find enterprise by category | |
| 55 | + Given the following categories | |
| 56 | + | name | | |
| 57 | + | Software Livre | | |
| 58 | + And the following enterprises | |
| 59 | + | identifier | name | category | | |
| 60 | + | noosfero | Noosfero | software-livre | | |
| 61 | + When I go to the search enterprises page | |
| 62 | + And I fill in "search-input" with "software" | |
| 63 | + And I press "Search" | |
| 64 | + Then I should see "Noosfero" within "#search-results" | |
| 65 | + And I should see "Software Livre" within ".search-enterprise-category" | |
| 66 | + | |
| 67 | + Scenario: show category hierarchy on search results | |
| 68 | + Given the following categories | |
| 69 | + | name | parent | | |
| 70 | + | Software Livre | | | |
| 71 | + | Rails | software-livre | | |
| 72 | + And the following enterprises | |
| 73 | + | identifier | name | category | | |
| 74 | + | noosfero | Noosfero | rails | | |
| 75 | + When I search enterprises for "Rails" | |
| 76 | + Then I should see "Software Livre" within ".search-enterprise-category" | |
| 77 | + And I should see "Rails" within ".search-enterprise-category" | |
| 78 | + | |
| 79 | + Scenario: find enterprises without exact query | |
| 80 | + Given the following enterprises | |
| 81 | + | identifier | name | | |
| 82 | + | noosfero | Noosfero Developers Association | | |
| 83 | + When I go to the search enterprises page | |
| 84 | + And I fill in "search-input" with "Noosfero Association" | |
| 85 | + And I press "Search" | |
| 86 | + Then I should see "Noosfero Developers Association" within "#search-results" | |
| 87 | + | |
| 88 | + Scenario: filter enterprises by facet | |
| 89 | + Given the following category | |
| 90 | + | name | parent | | |
| 91 | + | Software Livre | tematicas | | |
| 92 | + And the following enterprises | |
| 93 | + | identifier | name | category | | |
| 94 | + | noosfero | Noosfero Developers | software-livre | | |
| 95 | + | facebook | Facebook Developers | | | |
| 96 | + When I go to the search enterprises page | |
| 97 | + And I fill in "search-input" with "Developers" | |
| 98 | + And I press "Search" | |
| 99 | + And I follow "Software Livre" within "#facets-menu" | |
| 100 | + Then I should see "Noosfero Developers" within "#search-results" | |
| 101 | + And I should not see "Facebook Developers" | |
| 102 | + # facet should also be de-selectable | |
| 103 | + When I follow "remove facet" within ".facet-selected" | |
| 104 | + Then I should see "Facebook Developers" | |
| 105 | + | |
| 106 | + Scenario: remember facet filter when searching new query | |
| 107 | + Given the following category | |
| 108 | + | name | parent | | |
| 109 | + | Software Livre | tematicas | | |
| 110 | + And the following enterprises | |
| 111 | + | identifier | name | category | | |
| 112 | + | noosfero | Noosfero Developers | software-livre | | |
| 113 | + | rails-dev | Rails Developers | | | |
| 114 | + | rails-usr | Rails Users | software-livre | | |
| 115 | + When I go to the search enterprises page | |
| 116 | + And I fill in "search-input" with "Developers" | |
| 117 | + And I press "Search" | |
| 118 | + And I follow "Software Livre" within "#facets-menu" | |
| 119 | + And I fill in "search-input" with "Rails" | |
| 120 | + And I press "Search" | |
| 121 | + Then I should see "Rails Users" within "#search-results" | |
| 122 | + And I should not see "Rails Developers" | ... | ... |
| ... | ... | @@ -0,0 +1,85 @@ |
| 1 | +Feature: search people | |
| 2 | + As a noosfero user | |
| 3 | + I want to search people | |
| 4 | + In order to find ones that interest me | |
| 5 | + | |
| 6 | + Background: | |
| 7 | + Given the search index is empty | |
| 8 | + And the following users | |
| 9 | + | login | name | | |
| 10 | + | joaosilva | Joao Silva | | |
| 11 | + | josearaujo | Jose Araujo | | |
| 12 | + | |
| 13 | + Scenario: see category facets when searching | |
| 14 | + Given the following categories as facets | |
| 15 | + | name | | |
| 16 | + | Temáticas | | |
| 17 | + When I go to the search people page | |
| 18 | + And I fill in "search-input" with "joao" | |
| 19 | + And I press "Search" | |
| 20 | + Then I should see "Temáticas" within "#facets-menu" | |
| 21 | + | |
| 22 | + Scenario: search people by category | |
| 23 | + Given the following category | |
| 24 | + | name | | |
| 25 | + | Software Livre | | |
| 26 | + And the following users | |
| 27 | + | login | name | category | | |
| 28 | + | linus | Linus Torvalds | software-livre | | |
| 29 | + When I go to the search people page | |
| 30 | + And I fill in "search-input" with "software livre" | |
| 31 | + And I press "Search" | |
| 32 | + Then I should see "Linus Torvalds" within "#search-results" | |
| 33 | + And I should not see "Joao Silva" | |
| 34 | + And I should not see "Jose Araujo" | |
| 35 | + | |
| 36 | + Scenario: find person without exact query | |
| 37 | + Given the following users | |
| 38 | + | login | name | | |
| 39 | + | jsilva | Joao Adalberto de Oliveira Silva | | |
| 40 | + When I go to the search people page | |
| 41 | + And I fill in "search-input" with "Adalberto Silva" | |
| 42 | + And I press "Search" | |
| 43 | + Then I should see "Joao Adalberto de Oliveira Silva" within "#search-results" | |
| 44 | + | |
| 45 | + Given the following categories as facets | |
| 46 | + | name | | |
| 47 | + | Temáticas | | |
| 48 | + And the following category | |
| 49 | + | name | parent | | |
| 50 | + | Software Livre | tematicas | | |
| 51 | + And the following users | |
| 52 | + | login | name | category | | |
| 53 | + | linus | Linus Torvalds | software-livre | | |
| 54 | + | other | Other Linus | | | |
| 55 | + When I go to the search people page | |
| 56 | + And I fill in "search-input" with "Linus" | |
| 57 | + And I press "Search" | |
| 58 | + And I follow "Software Livre" within "#facets-menu" | |
| 59 | + Then I should see "Linus Torvalds" within "#search-results" | |
| 60 | + And I should not see "Other Linus" | |
| 61 | + # facet should also be de-selectable | |
| 62 | + When I follow "remove facet" within ".facet-selected" | |
| 63 | + Then I should see "Other Linus" | |
| 64 | + | |
| 65 | + Scenario: remember facet filter when searching new query | |
| 66 | + Given the following categories as facets | |
| 67 | + | name | | |
| 68 | + | Temáticas | | |
| 69 | + And the following category | |
| 70 | + | name | parent | | |
| 71 | + | Software Livre | tematicas | | |
| 72 | + And the following users | |
| 73 | + | login | name | category | | |
| 74 | + | linus | Linus Torvalds | software-livre | | |
| 75 | + | rilin | Richard Linus | | | |
| 76 | + | stall | Richard Stallman | software-livre | | |
| 77 | + When I go to the search people page | |
| 78 | + And I fill in "search-input" with "Linus" | |
| 79 | + And I press "Search" | |
| 80 | + And I follow "Software Livre" within "#facets-menu" | |
| 81 | + And I fill in "search-input" with "Richard" | |
| 82 | + And I press "Search" | |
| 83 | + Then I should see "Richard Stallman" within "#search-results" | |
| 84 | + And I should not see "Richard Linus" | |
| 85 | + | ... | ... |
| ... | ... | @@ -0,0 +1,149 @@ |
| 1 | +Feature: search products | |
| 2 | + As a noosfero user | |
| 3 | + I want to search products | |
| 4 | + In order to find ones that interest me | |
| 5 | + | |
| 6 | + Background: | |
| 7 | + Given the search index is empty | |
| 8 | + And feature "disable_asset_products" is disabled on environment | |
| 9 | + And the following enterprises | |
| 10 | + | identifier | name | | |
| 11 | + | colivre-ent | Colivre | | |
| 12 | + And the following product_categories | |
| 13 | + | name | | |
| 14 | + | Development | | |
| 15 | + And the following products | |
| 16 | + | owner | category | name | price | img | | |
| 17 | + | colivre-ent | development | social networks consultancy | 1.00 | fruits | | |
| 18 | + | colivre-ent | development | wikis consultancy | 2.00 | shoes | | |
| 19 | + | |
| 20 | + Scenario: not show pagination and facets on recent products | |
| 21 | + When I go to the search products page | |
| 22 | + Then The page should not contain "div.pagination" | |
| 23 | + And The page should not contain "#facets-menu" | |
| 24 | + | |
| 25 | + Scenario: see default facets when searching | |
| 26 | + When I go to the search products page | |
| 27 | + And I fill in "search-input" with "wikis" | |
| 28 | + And I press "Search" | |
| 29 | + Then I should see "Related products" within "#facets-menu" | |
| 30 | + Then I should see "City" within "#facets-menu" | |
| 31 | + Then I should see "Qualifiers" within "#facets-menu" | |
| 32 | + | |
| 33 | + Scenario: search products by category | |
| 34 | + Given the following product_category | |
| 35 | + | name | | |
| 36 | + | Software Livre | | |
| 37 | + And the following product | |
| 38 | + | owner | name | category | | |
| 39 | + | colivre-ent | Noosfero | software-livre | | |
| 40 | + When I go to the search products page | |
| 41 | + And I fill in "search-input" with "software livre" | |
| 42 | + And I press "Search" | |
| 43 | + Then I should see "Noosfero" within "#search-results" | |
| 44 | + And I should not see "wikis consultancy" | |
| 45 | + And I should not see "social networks consultancy" | |
| 46 | + | |
| 47 | + Scenario: see region on facets and results | |
| 48 | + Given the following cities | |
| 49 | + | name | state | | |
| 50 | + | Pres. Prudente | SP | | |
| 51 | + And the following enterprise | |
| 52 | + | identifier | name | region | | |
| 53 | + | art-pp | Artesanato PP | Pres. Prudente | | |
| 54 | + And the following product_category | |
| 55 | + | name | | |
| 56 | + | Solidária | | |
| 57 | + And the following product | |
| 58 | + | owner | name | category | | |
| 59 | + | art-pp | Arte em Madeira | solidaria | | |
| 60 | + When I go to the search products page | |
| 61 | + And I fill in "search-input" with "Madeira" | |
| 62 | + And I press "Search" | |
| 63 | + Then I should see "Pres. Prudente" within "#facet-menu-f_region" | |
| 64 | + And I should see ", SP" within "#facet-menu-f_region" | |
| 65 | + And I should see "Pres. Prudente, SP" within "#search-results" | |
| 66 | + | |
| 67 | + Scenario: find product by region | |
| 68 | + Given the following cities | |
| 69 | + | name | state | | |
| 70 | + | Pres. Prudente | SP | | |
| 71 | + And the following enterprise | |
| 72 | + | identifier | name | region | | |
| 73 | + | art-pp | Artesanato PP | Pres. Prudente | | |
| 74 | + And the following product_category | |
| 75 | + | name | | |
| 76 | + | Solidária | | |
| 77 | + And the following product | |
| 78 | + | owner | name | category | | |
| 79 | + | art-pp | Arte em Madeira | solidaria | | |
| 80 | + When I go to the search products page | |
| 81 | + And I fill in "search-input" with "Prudente" | |
| 82 | + And I press "Search" | |
| 83 | + Then I should see "Arte em Madeira" within "#search-results" | |
| 84 | + | |
| 85 | + Scenario: find products without exact query | |
| 86 | + Given the following product_category | |
| 87 | + | name | | |
| 88 | + | Software Livre | | |
| 89 | + And the following products | |
| 90 | + | owner | name | category | | |
| 91 | + | colivre-ent | Noosfero Social Network Platform | software-livre | | |
| 92 | + When I go to the search products page | |
| 93 | + And I fill in "search-input" with "Noosfero Network" | |
| 94 | + And I press "Search" | |
| 95 | + Then I should see "Noosfero Social Network Platform" within "#search-results" | |
| 96 | + | |
| 97 | + Scenario: filter products by facet | |
| 98 | + Given the following enterprises | |
| 99 | + | identifier | name | | |
| 100 | + | fb | FB inc. | | |
| 101 | + And the following categories as facets | |
| 102 | + | name | | |
| 103 | + | Temáticas | | |
| 104 | + And the following product_categories | |
| 105 | + | name | parent | | |
| 106 | + | Software Livre | tematicas | | |
| 107 | + | Big Brother | tematicas | | |
| 108 | + And the following products | |
| 109 | + | owner | name | category | | |
| 110 | + | colivre-ent | Noosfero Network | software-livre | | |
| 111 | + | fb | Facebook Network | big-brother | | |
| 112 | + When I go to the search products page | |
| 113 | + And I fill in "search-input" with "Network" | |
| 114 | + And I press "Search" | |
| 115 | + And I follow "Software Livre" within "#facets-menu" | |
| 116 | + Then I should see "Noosfero Network" within "#search-results" | |
| 117 | + And I should not see "Facebook Network" | |
| 118 | + # facet should also be de-selectable | |
| 119 | + When I follow "remove facet" within ".facet-selected" | |
| 120 | + Then I should see "Facebook Network" | |
| 121 | + | |
| 122 | + Scenario: remember facet filter when searching new query | |
| 123 | + Given the following enterprises | |
| 124 | + | identifier | name | | |
| 125 | + | fb | FB inc. | | |
| 126 | + | other | Other | | |
| 127 | + And the following categories as facets | |
| 128 | + | name | | |
| 129 | + | Temáticas | | |
| 130 | + And the following product_categories | |
| 131 | + | name | parent | | |
| 132 | + | Software Livre | tematicas | | |
| 133 | + | Big Brother | tematicas | | |
| 134 | + | Other | tematicas | | |
| 135 | + And the following products | |
| 136 | + | owner | name | category | | |
| 137 | + | colivre-ent | Noosfero Network | software-livre | | |
| 138 | + | fb | Facebook Network | big-brother | | |
| 139 | + | other | Other open | software-livre | | |
| 140 | + | other | Other closed | big-brother | | |
| 141 | + When I go to the search products page | |
| 142 | + And I fill in "search-input" with "Network" | |
| 143 | + And I press "Search" | |
| 144 | + And I follow "Software Livre" within "#facets-menu" | |
| 145 | + And I fill in "search-input" with "Other" | |
| 146 | + And I press "Search" | |
| 147 | + Then I should see "Other open" within "#search-results" | |
| 148 | + And I should not see "Other closed" | |
| 149 | + | ... | ... |
| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | +Given /^the search index is empty$/ do | |
| 2 | + ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => '*:*')) | |
| 3 | +end | |
| 4 | + | |
| 5 | +# This could be merged with "the following categories" | |
| 6 | +Given /^the following categories as facets$/ do |table| | |
| 7 | + ids = [] | |
| 8 | + table.hashes.each do |item| | |
| 9 | + cat = Category.find_by_name(item[:name]) | |
| 10 | + if cat.nil? | |
| 11 | + cat = Category.create!(:environment_id => Environment.default.id, :name => item[:name]) | |
| 12 | + end | |
| 13 | + ids << cat.id | |
| 14 | + end | |
| 15 | + env = Environment.default | |
| 16 | + env.top_level_category_as_facet_ids = ids | |
| 17 | + env.save! | |
| 18 | +end | ... | ... |