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 13  
14 14 Scenario: display "create new product" button
15 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 17 When I follow "Manage Products and Services"
18 18 Then I should see "New product or service"
19 19  
... ... @@ -34,7 +34,7 @@ Feature: manage products
34 34 | redemoinho | bicycle | Bike I | bicycle 9 |
35 35 | redemoinho | bicycle | Bike J | bicycle 10 |
36 36 | redemoinho | bicycle | Bike K | bicycle 11 |
37   - When I go to /catalog/redemoinho
  37 + When I go to redemoinho's products page
38 38 Then I should see "Bike A" within "#product-list"
39 39 And I should see "Bike B" within "#product-list"
40 40 And I should see "Bike C" within "#product-list"
... ... @@ -52,13 +52,13 @@ Feature: manage products
52 52  
53 53 Scenario: listing products and services
54 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 56 And I follow "Manage Products and Services"
57 57 Then I should see "Listing products and services"
58 58  
59 59 Scenario: see button to back in categories hierarchy
60 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 62 And I follow "Manage Products and Services"
63 63 When I follow "New product or service"
64 64 Then I should see "Back to the product listing" link
... ... @@ -69,9 +69,7 @@ Feature: manage products
69 69 | Products |
70 70 | Services |
71 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 73 Then I should see "Products"
76 74 And I should see "Service"
77 75  
... ... @@ -85,10 +83,8 @@ Feature: manage products
85 83 | Computers level1 | products-level0 |
86 84 | DVDs level1 | products-level0 |
87 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 88 Then I should see "Computers level1"
93 89 And I should see "DVDs level1"
94 90  
... ... @@ -103,12 +99,12 @@ Feature: manage products
103 99 | Computers level1 | products-level0 |
104 100 | Software development level1 | services-level0 |
105 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 108 Then I should see /Software develop/
113 109 And I should not see /Computers level/
114 110  
... ... @@ -121,11 +117,9 @@ Feature: manage products
121 117 | name | parent |
122 118 | Computers | products |
123 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 123 Then I should see "Products → Computers"
130 124  
131 125 @selenium
... ... @@ -137,11 +131,9 @@ Feature: manage products
137 131 | name | parent |
138 132 | Category Level 1 | toplevel-product-categories |
139 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 137 Then I should see "Toplevel Product Categories" link
146 138 And I should not see "Category Level 1" link
147 139  
... ... @@ -151,8 +143,8 @@ Feature: manage products
151 143 | name |
152 144 | Only for test |
153 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 149 @selenium
158 150 Scenario: enable save button when select one category
... ... @@ -160,11 +152,9 @@ Feature: manage products
160 152 And the following product_category
161 153 | name |
162 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 159 @selenium
170 160 Scenario: dont enable save button when select category with not accept products
... ... @@ -172,11 +162,9 @@ Feature: manage products
172 162 | name | accept_products |
173 163 | Browsers | false |
174 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 169 @selenium
182 170 Scenario: save product
... ... @@ -184,32 +172,14 @@ Feature: manage products
184 172 | name |
185 173 | Bicycle |
186 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 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 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 183 Scenario: a user with permission can see edit links
214 184 Given the following product_category
215 185 | name |
... ... @@ -331,10 +301,11 @@ Feature: manage products
331 301 And I am logged in as "joaosilva"
332 302 When I go to Rede Moinho's page of product Generic pc
333 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 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 310 @selenium
340 311 Scenario: cancel edition of a product category
... ... @@ -424,7 +395,9 @@ Feature: manage products
424 395 And I follow "Change category"
425 396 And I press "Save and continue"
426 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 401 And I should see "Generic pc"
429 402  
430 403 @selenium
... ... @@ -450,7 +423,7 @@ Feature: manage products
450 423 And I am logged in as "joaosilva"
451 424 When I go to Rede Moinho's page of product Generic pc
452 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 428 @selenium
456 429 Scenario: Truncate long category name in selection of category
... ... @@ -462,7 +435,7 @@ Feature: manage products
462 435 | name | parent |
463 436 | Netbook Quantum | Super Quantum Computers with teraflops |
464 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 439 Then I should see "Nanonote nanotech with long lo..."
467 440 And I should see "Super Quantum Computers with t... »"
468 441  
... ... @@ -481,7 +454,7 @@ Feature: manage products
481 454 When I go to Rede Moinho's page of product Bike
482 455 And I follow "Edit name and unit"
483 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 458 And I press "Save"
486 459 Then I should see "Red bicycle - kilo"
487 460  
... ... @@ -519,12 +492,14 @@ Feature: manage products
519 492 When I go to Rede Moinho's page of product Bike
520 493 And I follow "Add price and other basic information"
521 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 496 And I press "Save"
  497 + And I go to Rede Moinho's page of product Bike
524 498 Then I should see "Organic (Self declared)"
525 499 When I follow "Edit basic information"
526 500 And I follow "Delete qualifier"
527 501 And I press "Save"
  502 + And I go to Rede Moinho's page of product Bike
528 503 Then I should not see "Organic (Self declared)"
529 504  
530 505 @selenium
... ...
features/step_definitions/custom_web_steps.rb
... ... @@ -4,6 +4,12 @@ Then /^"([^"]*)" should not be visible within "([^"]*)"$/ do |text, selector|
4 4 end
5 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 13 Then /^I should see "([^"]*)" link$/ do |text|
8 14 page.should have_css('a', :text => text)
9 15 end
... ... @@ -16,6 +22,16 @@ When /^I should see "([^\"]+)" linking to "([^\"]+)"$/ do |text, href|
16 22 page.should have_xpath("//a", :href => /#{href}/)
17 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 35 When /^I reload and wait for the page$/ do
20 36 raise "Why why need this? Remove!"
21 37 visit page.driver.browser.current_url
... ...
features/support/paths.rb
... ... @@ -89,7 +89,7 @@ module NavigationHelpers
89 89 '/myprofile/%s/profile_members' % Profile.find_by_name($1).identifier
90 90  
91 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 94 when /^(.+)'s page of product (.*)$/
95 95 enterprise = Profile.find_by_name($1)
... ... @@ -97,7 +97,7 @@ module NavigationHelpers
97 97 '/myprofile/%s/manage_products/show/%s' % [enterprise.identifier, product.id]
98 98  
99 99 when /^(.*)'s products page$/
100   - '/catalog/%s' % Profile.find_by_name($1).identifier
  100 + '/catalog/%s' % $1
101 101  
102 102 when /^chat$/
103 103 '/chat'
... ...