Commit 43d5b90abf034199d6a0dd4a8982cc9013d41020
1 parent
db09f4dc
Exists in
master
and in
28 other branches
Fixed test: features/search_products.feature
Showing
3 changed files
with
41 additions
and
27 deletions
Show diff stats
features/search_products.feature
| ... | ... | @@ -21,14 +21,18 @@ Feature: search products |
| 21 | 21 | When I go to the search products page |
| 22 | 22 | Then I should see "wikis consultancy" within "#search-results" |
| 23 | 23 | And I should see "social networks consultancy" within "#search-results" |
| 24 | - And I should not see content inside "div.pagination" | |
| 25 | - And I should not see content inside "#facets-menu" | |
| 24 | + | |
| 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" | |
| 26 | 29 | |
| 27 | 30 | Scenario: show empty search results |
| 28 | 31 | When I search products for "something unrelated" |
| 29 | 32 | Then I should see "None" within ".search-results-type-empty" |
| 30 | 33 | |
| 31 | 34 | Scenario: simple search for product |
| 35 | + Given there are no pending jobs | |
| 32 | 36 | When I search products for "wikis" |
| 33 | 37 | Then I should see "wikis consultancy" within "#search-results" |
| 34 | 38 | And I should see "wikis consultancy" within ".only-one-result-box" |
| ... | ... | @@ -38,7 +42,7 @@ Feature: search products |
| 38 | 42 | |
| 39 | 43 | Scenario: see default facets when searching |
| 40 | 44 | When I go to the search products page |
| 41 | - And I fill in "query" with "wikis" | |
| 45 | + And I fill in "search-input" with "wikis" | |
| 42 | 46 | And I press "Search" |
| 43 | 47 | Then I should see "Related products" within "#facets-menu" |
| 44 | 48 | Then I should see "City" within "#facets-menu" |
| ... | ... | @@ -49,7 +53,7 @@ Feature: search products |
| 49 | 53 | | product | category | solidary | |
| 50 | 54 | | wikis consultancy | development | true | |
| 51 | 55 | When I go to the search products page |
| 52 | - And I fill in "query" with "wikis" | |
| 56 | + And I fill in "search-input" with "wikis" | |
| 53 | 57 | And I press "Search" |
| 54 | 58 | Then I should see "100%" within "div.search-product-ecosol-percentage-icon-100" |
| 55 | 59 | |
| ... | ... | @@ -59,7 +63,7 @@ Feature: search products |
| 59 | 63 | | wikis consultancy | development | true | |
| 60 | 64 | | wikis consultancy | development | false | |
| 61 | 65 | When I go to the search products page |
| 62 | - And I fill in "query" with "wikis" | |
| 66 | + And I fill in "search-input" with "wikis" | |
| 63 | 67 | And I press "Search" |
| 64 | 68 | Then I should see "50%" within "div.search-product-ecosol-percentage-icon-50" |
| 65 | 69 | |
| ... | ... | @@ -71,7 +75,7 @@ Feature: search products |
| 71 | 75 | | wikis consultancy | development | true | |
| 72 | 76 | | wikis consultancy | development | false | |
| 73 | 77 | When I go to the search products page |
| 74 | - And I fill in "query" with "wikis" | |
| 78 | + And I fill in "search-input" with "wikis" | |
| 75 | 79 | And I press "Search" |
| 76 | 80 | Then I should see "75%" within "div.search-product-ecosol-percentage-icon-75" |
| 77 | 81 | |
| ... | ... | @@ -83,7 +87,7 @@ Feature: search products |
| 83 | 87 | | wikis consultancy | development | false | |
| 84 | 88 | | wikis consultancy | development | false | |
| 85 | 89 | When I go to the search products page |
| 86 | - And I fill in "query" with "wikis" | |
| 90 | + And I fill in "search-input" with "wikis" | |
| 87 | 91 | And I press "Search" |
| 88 | 92 | Then I should see "25%" within "div.search-product-ecosol-percentage-icon-25" |
| 89 | 93 | |
| ... | ... | @@ -92,7 +96,7 @@ Feature: search products |
| 92 | 96 | | owner | category | name | price | img | |
| 93 | 97 | | colivre-ent | development | noosfero | 12.34 | noosfero-network | |
| 94 | 98 | When I go to the search products page |
| 95 | - And I fill in "query" with "noosfero" | |
| 99 | + And I fill in "search-input" with "noosfero" | |
| 96 | 100 | And I press "Search" |
| 97 | 101 | Then I should not see "No image" |
| 98 | 102 | And I should see "Zoom in" within "a.zoomify-image" |
| ... | ... | @@ -105,7 +109,7 @@ Feature: search products |
| 105 | 109 | | owner | name | category | |
| 106 | 110 | | colivre-ent | Noosfero | software-livre | |
| 107 | 111 | When I go to the search products page |
| 108 | - And I fill in "query" with "software livre" | |
| 112 | + And I fill in "search-input" with "software livre" | |
| 109 | 113 | And I press "Search" |
| 110 | 114 | Then I should see "Noosfero" within "#search-results" |
| 111 | 115 | And I should not see "wikis consultancy" |
| ... | ... | @@ -125,7 +129,7 @@ Feature: search products |
| 125 | 129 | | owner | name | category | |
| 126 | 130 | | art-pp | Arte em Madeira | solidaria | |
| 127 | 131 | When I go to the search products page |
| 128 | - And I fill in "query" with "Madeira" | |
| 132 | + And I fill in "search-input" with "Madeira" | |
| 129 | 133 | And I press "Search" |
| 130 | 134 | Then I should see "Pres. Prudente" within "#facet-menu-f_region" |
| 131 | 135 | And I should see ", SP" within "#facet-menu-f_region" |
| ... | ... | @@ -145,7 +149,7 @@ Feature: search products |
| 145 | 149 | | owner | name | category | |
| 146 | 150 | | art-pp | Arte em Madeira | solidaria | |
| 147 | 151 | When I go to the search products page |
| 148 | - And I fill in "query" with "Prudente" | |
| 152 | + And I fill in "search-input" with "Prudente" | |
| 149 | 153 | And I press "Search" |
| 150 | 154 | Then I should see "Arte em Madeira" within "#search-results" |
| 151 | 155 | |
| ... | ... | @@ -157,7 +161,7 @@ Feature: search products |
| 157 | 161 | | owner | name | category | |
| 158 | 162 | | colivre-ent | Noosfero Social Network Platform | software-livre | |
| 159 | 163 | When I go to the search products page |
| 160 | - And I fill in "query" with "Noosfero Network" | |
| 164 | + And I fill in "search-input" with "Noosfero Network" | |
| 161 | 165 | And I press "Search" |
| 162 | 166 | Then I should see "Noosfero Social Network Platform" within "#search-results" |
| 163 | 167 | |
| ... | ... | @@ -177,7 +181,7 @@ Feature: search products |
| 177 | 181 | | colivre-ent | Noosfero Network | software-livre | |
| 178 | 182 | | fb | Facebook Network | big-brother | |
| 179 | 183 | When I go to the search products page |
| 180 | - And I fill in "query" with "Network" | |
| 184 | + And I fill in "search-input" with "Network" | |
| 181 | 185 | And I press "Search" |
| 182 | 186 | And I follow "Software Livre" within "#facets-menu" |
| 183 | 187 | Then I should see "Noosfero Network" within "#search-results" |
| ... | ... | @@ -206,10 +210,10 @@ Feature: search products |
| 206 | 210 | | other | Other open | software-livre | |
| 207 | 211 | | other | Other closed | big-brother | |
| 208 | 212 | When I go to the search products page |
| 209 | - And I fill in "query" with "Network" | |
| 213 | + And I fill in "search-input" with "Network" | |
| 210 | 214 | And I press "Search" |
| 211 | 215 | And I follow "Software Livre" within "#facets-menu" |
| 212 | - And I fill in "query" with "Other" | |
| 216 | + And I fill in "search-input" with "Other" | |
| 213 | 217 | And I press "Search" |
| 214 | 218 | Then I should see "Other open" within "#search-results" |
| 215 | 219 | And I should not see "Other closed" |
| ... | ... | @@ -217,4 +221,4 @@ Feature: search products |
| 217 | 221 | Scenario: don't search when products are disabled in environment |
| 218 | 222 | Given feature "disable_asset_products" is enabled on environment |
| 219 | 223 | When I go to the search products page |
| 220 | - Then I should not see content inside "#search-results" | |
| 224 | + Then I should see "There is no such page" within "#not-found" | ... | ... |
features/step_definitions/invitation_steps.rb
| ... | ... | @@ -17,9 +17,3 @@ Given /^I invite email "(.+)" to be my friend$/ do |email| |
| 17 | 17 | fill_in('mail_template', :with => 'Follow this link <url>') |
| 18 | 18 | click_button("Invite my friends!") |
| 19 | 19 | end |
| 20 | - | |
| 21 | -Given /^there are no pending jobs$/ do | |
| 22 | - silence_stream(STDOUT) do | |
| 23 | - Delayed::Worker.new.work_off | |
| 24 | - end | |
| 25 | -end | ... | ... |
features/step_definitions/noosfero_steps.rb
| ... | ... | @@ -422,6 +422,10 @@ Then /^The page title should contain "(.*)"$/ do |text| |
| 422 | 422 | end |
| 423 | 423 | end |
| 424 | 424 | |
| 425 | +Then /^The page should not contain "(.*)"$/ do |selector| | |
| 426 | + page.should have_no_css("#{selector}") | |
| 427 | +end | |
| 428 | + | |
| 425 | 429 | Given /^the mailbox is empty$/ do |
| 426 | 430 | ActionMailer::Base.deliveries = [] |
| 427 | 431 | end |
| ... | ... | @@ -647,20 +651,26 @@ end |
| 647 | 651 | |
| 648 | 652 | When /^I search ([^\"]*) for "([^\"]*)"$/ do |asset, query| |
| 649 | 653 | When %{I go to the search #{asset} page} |
| 650 | - And %{I fill in "query" with "#{query}"} | |
| 654 | + And %{I fill in "search-input" with "#{query}"} | |
| 651 | 655 | And %{I press "Search"} |
| 652 | 656 | end |
| 653 | 657 | |
| 654 | 658 | Then /^I should see ([^\"]*)'s product image$/ do |product_name| |
| 655 | 659 | p = Product.find_by_name product_name |
| 656 | - path = url_for(p.enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => p, :only_path => true)) | |
| 657 | - response.should have_selector("div[class~=\"zoomable-image\"] a[href=\"http://#{path}\"]") | |
| 660 | + path = url_for(p.enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => p)) | |
| 661 | + | |
| 662 | + with_scope('.zoomable-image') do | |
| 663 | + page.should have_xpath("a[@href=\"#{path}\"][@class='search-image-pic']") | |
| 664 | + end | |
| 658 | 665 | end |
| 659 | 666 | |
| 660 | 667 | Then /^I should not see ([^\"]*)'s product image$/ do |product_name| |
| 661 | 668 | p = Product.find_by_name product_name |
| 662 | - path = url_for(p.enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => p, :only_path => true)) | |
| 663 | - response.should_not have_selector("div[class~=\"zoomable-image\"] a[href=\"http://#{path}\"]") | |
| 669 | + path = url_for(p.enterprise.public_profile_url.merge(:controller => 'manage_products', :action => 'show', :id => p)) | |
| 670 | + | |
| 671 | + with_scope('.zoomable-image') do | |
| 672 | + page.should have_no_xpath("a[@href=\"#{path}\"][@class='search-image-pic']") | |
| 673 | + end | |
| 664 | 674 | end |
| 665 | 675 | |
| 666 | 676 | Then /^I should see ([^\"]*)'s profile image$/ do |name| |
| ... | ... | @@ -738,3 +748,9 @@ Given /^the profile (.*) is configured to (.*) after login$/ do |profile, option |
| 738 | 748 | profile.redirection_after_login = redirection |
| 739 | 749 | profile.save |
| 740 | 750 | end |
| 751 | + | |
| 752 | +Given /^there are no pending jobs$/ do | |
| 753 | + silence_stream(STDOUT) do | |
| 754 | + Delayed::Worker.new.work_off | |
| 755 | + end | |
| 756 | +end | ... | ... |