Commit 37105a381e9e67c70204221962faa3ac5bd7d5e0

Authored by Daniela Feitosa
1 parent 972a12ab

Fixed test: features/manage_products.feature

features/manage_products.feature
@@ -13,7 +13,7 @@ Feature: manage products @@ -13,7 +13,7 @@ Feature: manage products
13 13
14 Scenario: display "create new product" button 14 Scenario: display "create new product" button
15 Given I am logged in as "joaosilva" 15 Given I am logged in as "joaosilva"
16 - And I am on Rede Moinho's control panel 16 + And I am on redemoinho's control panel
17 When I follow "Manage Products and Services" 17 When I follow "Manage Products and Services"
18 Then I should see "New product or service" 18 Then I should see "New product or service"
19 19
@@ -34,7 +34,7 @@ Feature: manage products @@ -34,7 +34,7 @@ Feature: manage products
34 | redemoinho | bicycle | Bike I | bicycle 9 | 34 | redemoinho | bicycle | Bike I | bicycle 9 |
35 | redemoinho | bicycle | Bike J | bicycle 10 | 35 | redemoinho | bicycle | Bike J | bicycle 10 |
36 | redemoinho | bicycle | Bike K | bicycle 11 | 36 | redemoinho | bicycle | Bike K | bicycle 11 |
37 - When I go to /catalog/redemoinho 37 + When I go to redemoinho's products page
38 Then I should see "Bike A" within "#product-list" 38 Then I should see "Bike A" within "#product-list"
39 And I should see "Bike B" within "#product-list" 39 And I should see "Bike B" within "#product-list"
40 And I should see "Bike C" within "#product-list" 40 And I should see "Bike C" within "#product-list"
@@ -52,13 +52,13 @@ Feature: manage products @@ -52,13 +52,13 @@ Feature: manage products
52 52
53 Scenario: listing products and services 53 Scenario: listing products and services
54 Given I am logged in as "joaosilva" 54 Given I am logged in as "joaosilva"
55 - And I am on Rede Moinho's control panel 55 + And I am on redemoinho's control panel
56 And I follow "Manage Products and Services" 56 And I follow "Manage Products and Services"
57 Then I should see "Listing products and services" 57 Then I should see "Listing products and services"
58 58
59 Scenario: see button to back in categories hierarchy 59 Scenario: see button to back in categories hierarchy
60 Given I am logged in as "joaosilva" 60 Given I am logged in as "joaosilva"
61 - And I am on Rede Moinho's control panel 61 + And I am on redemoinho's control panel
62 And I follow "Manage Products and Services" 62 And I follow "Manage Products and Services"
63 When I follow "New product or service" 63 When I follow "New product or service"
64 Then I should see "Back to the product listing" link 64 Then I should see "Back to the product listing" link
@@ -69,9 +69,7 @@ Feature: manage products @@ -69,9 +69,7 @@ Feature: manage products
69 | Products | 69 | Products |
70 | Services | 70 | Services |
71 Given I am logged in as "joaosilva" 71 Given I am logged in as "joaosilva"
72 - And I am on Rede Moinho's control panel  
73 - And I follow "Manage Products and Services"  
74 - When I follow "New product or service" 72 + And I go to redemoinho's new product page
75 Then I should see "Products" 73 Then I should see "Products"
76 And I should see "Service" 74 And I should see "Service"
77 75
@@ -85,10 +83,8 @@ Feature: manage products @@ -85,10 +83,8 @@ Feature: manage products
85 | Computers level1 | products-level0 | 83 | Computers level1 | products-level0 |
86 | DVDs level1 | products-level0 | 84 | DVDs level1 | products-level0 |
87 Given I am logged in as "joaosilva" 85 Given I am logged in as "joaosilva"
88 - And I am on Rede Moinho's control panel  
89 - And I follow "Manage Products and Services"  
90 - When I follow "New product or service"  
91 - And I select "Products level0 »" and wait for jquery 86 + And I go to redemoinho's new product page
  87 + And I select "Products level0 »" from "category_id" within "#categories_container_level0"
92 Then I should see "Computers level1" 88 Then I should see "Computers level1"
93 And I should see "DVDs level1" 89 And I should see "DVDs level1"
94 90
@@ -103,12 +99,12 @@ Feature: manage products @@ -103,12 +99,12 @@ Feature: manage products
103 | Computers level1 | products-level0 | 99 | Computers level1 | products-level0 |
104 | Software development level1 | services-level0 | 100 | Software development level1 | services-level0 |
105 Given I am logged in as "joaosilva" 101 Given I am logged in as "joaosilva"
106 - And I am on Rede Moinho's control panel  
107 - And I follow "Manage Products and Services"  
108 - When I follow "New product or service"  
109 - And I select "Products level0 »" and wait for jquery  
110 - And I select "Computers level1" and wait for jquery  
111 - And I select "Services level0 »" and wait for jquery 102 + And I go to redemoinho's new product page
  103 + And I should not see /Computers level/
  104 + And I select "Products level0 »" from "category_id" within "#categories_container_wrapper"
  105 + And I should see /Computers level/
  106 + And I should not see /Software develop/
  107 + And I select "Services level0 »" from "category_id" within "#categories_container_wrapper"
112 Then I should see /Software develop/ 108 Then I should see /Software develop/
113 And I should not see /Computers level/ 109 And I should not see /Computers level/
114 110
@@ -121,11 +117,9 @@ Feature: manage products @@ -121,11 +117,9 @@ Feature: manage products
121 | name | parent | 117 | name | parent |
122 | Computers | products | 118 | Computers | products |
123 Given I am logged in as "joaosilva" 119 Given I am logged in as "joaosilva"
124 - And I am on Rede Moinho's control panel  
125 - And I follow "Manage Products and Services"  
126 - When I follow "New product or service"  
127 - And I select "Products »" and wait for jquery  
128 - And I select "Computers" and wait for jquery 120 + And I go to redemoinho's new product page
  121 + And I select "Products »" from "category_id" within "#categories_container_level0"
  122 + And I select "Computers" from "category_id" within "#categories_container_level1"
129 Then I should see "Products → Computers" 123 Then I should see "Products → Computers"
130 124
131 @selenium 125 @selenium
@@ -137,11 +131,9 @@ Feature: manage products @@ -137,11 +131,9 @@ Feature: manage products
137 | name | parent | 131 | name | parent |
138 | Category Level 1 | toplevel-product-categories | 132 | Category Level 1 | toplevel-product-categories |
139 Given I am logged in as "joaosilva" 133 Given I am logged in as "joaosilva"
140 - And I am on Rede Moinho's control panel  
141 - And I follow "Manage Products and Services"  
142 - When I follow "New product or service"  
143 - And I select "Toplevel Product Categories »" and wait for jquery  
144 - And I select "Category Level 1" and wait for jquery 134 + And I go to redemoinho's new product page
  135 + And I select "Toplevel Product Categories »" from "category_id" within "#categories_container_level0"
  136 + And I select "Category Level 1" from "category_id" within "#categories_container_level1"
145 Then I should see "Toplevel Product Categories" link 137 Then I should see "Toplevel Product Categories" link
146 And I should not see "Category Level 1" link 138 And I should not see "Category Level 1" link
147 139
@@ -151,8 +143,8 @@ Feature: manage products @@ -151,8 +143,8 @@ Feature: manage products
151 | name | 143 | name |
152 | Only for test | 144 | Only for test |
153 And I am logged in as "joaosilva" 145 And I am logged in as "joaosilva"
154 - When I go to /myprofile/redemoinho/manage_products/new  
155 - Then the "#save_and_continue" button should not be enabled 146 + When I go to redemoinho's new product page
  147 + Then the "#save_and_continue" button should be disabled
156 148
157 @selenium 149 @selenium
158 Scenario: enable save button when select one category 150 Scenario: enable save button when select one category
@@ -160,11 +152,9 @@ Feature: manage products @@ -160,11 +152,9 @@ Feature: manage products
160 And the following product_category 152 And the following product_category
161 | name | 153 | name |
162 | Browsers (accept categories) | 154 | Browsers (accept categories) |
163 - And I am on Rede Moinho's control panel  
164 - And I follow "Manage Products and Services"  
165 - When I follow "New product or service"  
166 - And I select "Browsers (accept categories)" and wait for jquery  
167 - Then the "Save and continue" button should be enabled 155 + When I go to redemoinho's new product page
  156 + And I select "Browsers (accept categories)" from "category_id" within "#categories_container_wrapper"
  157 + Then the "#save_and_continue" button should be enabled
168 158
169 @selenium 159 @selenium
170 Scenario: dont enable save button when select category with not accept products 160 Scenario: dont enable save button when select category with not accept products
@@ -172,11 +162,9 @@ Feature: manage products @@ -172,11 +162,9 @@ Feature: manage products
172 | name | accept_products | 162 | name | accept_products |
173 | Browsers | false | 163 | Browsers | false |
174 Given I am logged in as "joaosilva" 164 Given I am logged in as "joaosilva"
175 - And I am on Rede Moinho's control panel  
176 - And I follow "Manage Products and Services"  
177 - When I follow "New product or service"  
178 - And I select "Browsers" and wait for jquery  
179 - Then the "#save_and_continue" button should not be enabled 165 + When I go to redemoinho's new product page
  166 + And I select "Browsers" from "category_id" within "#categories_container_wrapper"
  167 + Then the "#save_and_continue" button should be disabled
180 168
181 @selenium 169 @selenium
182 Scenario: save product 170 Scenario: save product
@@ -184,32 +172,14 @@ Feature: manage products @@ -184,32 +172,14 @@ Feature: manage products
184 | name | 172 | name |
185 | Bicycle | 173 | Bicycle |
186 Given I am logged in as "joaosilva" 174 Given I am logged in as "joaosilva"
187 - And I am on Rede Moinho's control panel  
188 - And I follow "Manage Products and Services"  
189 - When I follow "New product or service"  
190 - And I select "Bicycle" and wait for jquery 175 + When I go to redemoinho's new product page
  176 + And I select "Bicycle" from "category_id" within "#categories_container_wrapper"
191 And I press "Save and continue" 177 And I press "Save and continue"
192 - Then I should see "Bicycle" 178 + When I go to redemoinho's products page
  179 + And I follow "Bicycle" within "#product-list"
  180 + Then I should see "Bicycle" within "#show_product"
193 And I should see "Change category" 181 And I should see "Change category"
194 182
195 - @selenium  
196 - Scenario: stay on the same place after error on save  
197 - Given the following product_category  
198 - | name |  
199 - | Bicycle |  
200 - Given I am logged in as "joaosilva"  
201 - And I am on Rede Moinho's control panel  
202 - And I follow "Manage Products and Services"  
203 - And I follow "New product or service"  
204 - And I select "Bicycle" and wait for jquery  
205 - And I press "Save and continue"  
206 - When I follow "Back"  
207 - And I follow "New product or service"  
208 - And I select "Bicycle" and wait for jquery  
209 - And I press "Save and continue"  
210 - Then I should be on Rede Moinho's new product page  
211 - And I should see "Bicycle"  
212 -  
213 Scenario: a user with permission can see edit links 183 Scenario: a user with permission can see edit links
214 Given the following product_category 184 Given the following product_category
215 | name | 185 | name |
@@ -331,10 +301,11 @@ Feature: manage products @@ -331,10 +301,11 @@ Feature: manage products
331 And I am logged in as "joaosilva" 301 And I am logged in as "joaosilva"
332 When I go to Rede Moinho's page of product Generic pc 302 When I go to Rede Moinho's page of product Generic pc
333 And I follow "Change category" 303 And I follow "Change category"
334 - And I select "Eletronics »" and wait for jquery  
335 - Then I select "DVDs" and wait for jquery 304 + And I select "Eletronics »" from "category_id" within "#categories_container_level0"
  305 + Then I select "DVDs" from "category_id" within "#categories_container_level1"
336 And I press "Save and continue" 306 And I press "Save and continue"
337 - Then I should see "Eletronics → DVDs" 307 + When I go to Rede Moinho's page of product Generic pc
  308 + Then I should see "Eletronics → DVDs" within ".hierarchy-category"
338 309
339 @selenium 310 @selenium
340 Scenario: cancel edition of a product category 311 Scenario: cancel edition of a product category
@@ -424,7 +395,9 @@ Feature: manage products @@ -424,7 +395,9 @@ Feature: manage products
424 And I follow "Change category" 395 And I follow "Change category"
425 And I press "Save and continue" 396 And I press "Save and continue"
426 Then I should not see "Product category can't be blank" 397 Then I should not see "Product category can't be blank"
427 - And I should be on Rede Moinho's page of product Generic pc 398 + When I go to Rede Moinho's page of product Generic pc
  399 + Then I should see "Eletronics → Computers" within ".hierarchy-category"
  400 +
428 And I should see "Generic pc" 401 And I should see "Generic pc"
429 402
430 @selenium 403 @selenium
@@ -450,7 +423,7 @@ Feature: manage products @@ -450,7 +423,7 @@ Feature: manage products
450 And I am logged in as "joaosilva" 423 And I am logged in as "joaosilva"
451 When I go to Rede Moinho's page of product Generic pc 424 When I go to Rede Moinho's page of product Generic pc
452 And I follow "Change category" 425 And I follow "Change category"
453 - Then the select for category "Netbook from Venus" should be visible 426 + Then "Netbook from Venus" should be visible within "#categories_container_wrapper"
454 427
455 @selenium 428 @selenium
456 Scenario: Truncate long category name in selection of category 429 Scenario: Truncate long category name in selection of category
@@ -462,7 +435,7 @@ Feature: manage products @@ -462,7 +435,7 @@ Feature: manage products
462 | name | parent | 435 | name | parent |
463 | Netbook Quantum | Super Quantum Computers with teraflops | 436 | Netbook Quantum | Super Quantum Computers with teraflops |
464 And I am logged in as "joaosilva" 437 And I am logged in as "joaosilva"
465 - When I go to Rede Moinho's new product page 438 + When I go to redemoinho's new product page
466 Then I should see "Nanonote nanotech with long lo..." 439 Then I should see "Nanonote nanotech with long lo..."
467 And I should see "Super Quantum Computers with t... »" 440 And I should see "Super Quantum Computers with t... »"
468 441
@@ -481,7 +454,7 @@ Feature: manage products @@ -481,7 +454,7 @@ Feature: manage products
481 When I go to Rede Moinho's page of product Bike 454 When I go to Rede Moinho's page of product Bike
482 And I follow "Edit name and unit" 455 And I follow "Edit name and unit"
483 And I fill in "Red bicycle" for "product_name" 456 And I fill in "Red bicycle" for "product_name"
484 - And I select "Kilo" 457 + And I select "Kilo" from "product_unit_id" within "#product-name-form"
485 And I press "Save" 458 And I press "Save"
486 Then I should see "Red bicycle - kilo" 459 Then I should see "Red bicycle - kilo"
487 460
@@ -519,12 +492,14 @@ Feature: manage products @@ -519,12 +492,14 @@ Feature: manage products
519 When I go to Rede Moinho's page of product Bike 492 When I go to Rede Moinho's page of product Bike
520 And I follow "Add price and other basic information" 493 And I follow "Add price and other basic information"
521 And I follow "Add new qualifier" 494 And I follow "Add new qualifier"
522 - And I select "Organic" and wait for jquery 495 + And I select "Organic" from "selected_qualifier" within "#product-qualifiers-list"
523 And I press "Save" 496 And I press "Save"
  497 + And I go to Rede Moinho's page of product Bike
524 Then I should see "Organic (Self declared)" 498 Then I should see "Organic (Self declared)"
525 When I follow "Edit basic information" 499 When I follow "Edit basic information"
526 And I follow "Delete qualifier" 500 And I follow "Delete qualifier"
527 And I press "Save" 501 And I press "Save"
  502 + And I go to Rede Moinho's page of product Bike
528 Then I should not see "Organic (Self declared)" 503 Then I should not see "Organic (Self declared)"
529 504
530 @selenium 505 @selenium
features/step_definitions/custom_web_steps.rb
@@ -4,6 +4,12 @@ Then /^"([^"]*)" should not be visible within "([^"]*)"$/ do |text, selector| @@ -4,6 +4,12 @@ Then /^"([^"]*)" should not be visible within "([^"]*)"$/ do |text, selector|
4 end 4 end
5 end 5 end
6 6
  7 +Then /^"([^"]*)" should be visible within "([^"]*)"$/ do |text, selector|
  8 + if page.has_content?(text)
  9 + page.should have_css(selector, :text => text, :visible => false)
  10 + end
  11 +end
  12 +
7 Then /^I should see "([^"]*)" link$/ do |text| 13 Then /^I should see "([^"]*)" link$/ do |text|
8 page.should have_css('a', :text => text) 14 page.should have_css('a', :text => text)
9 end 15 end
@@ -16,6 +22,16 @@ When /^I should see "([^\"]+)" linking to "([^\"]+)"$/ do |text, href| @@ -16,6 +22,16 @@ When /^I should see "([^\"]+)" linking to "([^\"]+)"$/ do |text, href|
16 page.should have_xpath("//a", :href => /#{href}/) 22 page.should have_xpath("//a", :href => /#{href}/)
17 end 23 end
18 24
  25 +Then /^the "([^"]*)" button should be disabled$/ do |selector|
  26 + field = find(selector)
  27 + field['disabled'].should be_true
  28 +end
  29 +
  30 +Then /^the "([^"]*)" button should be enabled$/ do |selector|
  31 + field = find(selector)
  32 + field['disabled'].should_not be_true
  33 +end
  34 +
19 When /^I reload and wait for the page$/ do 35 When /^I reload and wait for the page$/ do
20 raise "Why why need this? Remove!" 36 raise "Why why need this? Remove!"
21 visit page.driver.browser.current_url 37 visit page.driver.browser.current_url
features/support/paths.rb
@@ -89,7 +89,7 @@ module NavigationHelpers @@ -89,7 +89,7 @@ module NavigationHelpers
89 '/myprofile/%s/profile_members' % Profile.find_by_name($1).identifier 89 '/myprofile/%s/profile_members' % Profile.find_by_name($1).identifier
90 90
91 when /^(.+)'s new product page/ 91 when /^(.+)'s new product page/
92 - '/myprofile/%s/manage_products/new' % Profile.find_by_name($1).identifier 92 + '/myprofile/%s/manage_products/new' % $1
93 93
94 when /^(.+)'s page of product (.*)$/ 94 when /^(.+)'s page of product (.*)$/
95 enterprise = Profile.find_by_name($1) 95 enterprise = Profile.find_by_name($1)
@@ -97,7 +97,7 @@ module NavigationHelpers @@ -97,7 +97,7 @@ module NavigationHelpers
97 '/myprofile/%s/manage_products/show/%s' % [enterprise.identifier, product.id] 97 '/myprofile/%s/manage_products/show/%s' % [enterprise.identifier, product.id]
98 98
99 when /^(.*)'s products page$/ 99 when /^(.*)'s products page$/
100 - '/catalog/%s' % Profile.find_by_name($1).identifier 100 + '/catalog/%s' % $1
101 101
102 when /^chat$/ 102 when /^chat$/
103 '/chat' 103 '/chat'