Commit 5ad46e233ac8b0f3bb587a7e315d686f45c67e70

Authored by Daniela Feitosa
1 parent 1c390d09

Integration of AI1413 with AI2111

app/models/product.rb
@@ -145,11 +145,6 @@ class Product < ActiveRecord::Base @@ -145,11 +145,6 @@ class Product < ActiveRecord::Base
145 false 145 false
146 end 146 end
147 147
148 - # FIXME this will check the validity of price composition with inputs and other costs  
149 - def is_open_price?  
150 - false  
151 - end  
152 -  
153 def has_basic_info? 148 def has_basic_info?
154 %w[unit price discount].each do |field| 149 %w[unit price discount].each do |field|
155 return true if !self.send(field).blank? 150 return true if !self.send(field).blank?
app/views/catalog/index.rhtml
@@ -50,7 +50,7 @@ @@ -50,7 +50,7 @@
50 </li> 50 </li>
51 <% end %> 51 <% end %>
52 52
53 - <% if product.is_open_price? %> 53 + <% if product.price_described? %>
54 <li class="product-price-composition expand-box"> 54 <li class="product-price-composition expand-box">
55 <span id="product-price-composition-button"><%= _('price composition') %></span> 55 <span id="product-price-composition-button"><%= _('price composition') %></span>
56 <div> 56 <div>
features/browse_catalogs.feature
@@ -159,7 +159,7 @@ Feature: browse catalogs @@ -159,7 +159,7 @@ Feature: browse catalogs
159 When I click "product-description-button" 159 When I click "product-description-button"
160 Then I should see "A small description" within "#product-description" 160 Then I should see "A small description" within "#product-description"
161 And the "product-description" should be visible 161 And the "product-description" should be visible
162 - When I click "product-description-button" 162 + When I click "product-list"
163 Then the "product-description" should not be visible 163 Then the "product-description" should not be visible
164 164
165 Scenario: display unavailable product 165 Scenario: display unavailable product
@@ -190,40 +190,51 @@ Feature: browse catalogs @@ -190,40 +190,51 @@ Feature: browse catalogs
190 And I should see "Organic" within "span.search-product-qualifier" 190 And I should see "Organic" within "span.search-product-qualifier"
191 And I should not see "price composition" 191 And I should not see "price composition"
192 192
193 -#FIXME: this will only be available after AI1413  
194 -# @selenium  
195 -# Scenario: display price composition button (but not inputs)  
196 -# Given the following product  
197 -# | owner | category | name | price |  
198 -# | artebonito | food | Bananada | 10.00 |  
199 -# And the following input  
200 -# | product | category | price_per_unit | amount_used |  
201 -# | Bananada | food | 0.99 | 5 |  
202 -# And I am on /catalog/artebonito  
203 -# And I reload and wait for the page  
204 -# Then I should see "Bananada" within "li.product-link"  
205 -# And I should see "10.00" within "span.product-price"  
206 -# And I should see "price composition" within "#product-price-composition-button"  
207 -# And the "#product-price-composition-button" should be visible  
208 -# And I should see "food" within "#product-price-composition"  
209 -# And I should see "4.95" within "#product-price-composition"  
210 -# And the "#product-price-composition" should not be visible 193 + @selenium
  194 + Scenario: not display price composition button if price is not described
  195 + Given the following product
  196 + | owner | category | name | price |
  197 + | artebonito | food | Bananada | 10.00 |
  198 + And the following input
  199 + | product | category | price_per_unit | amount_used |
  200 + | Bananada | food | 0.99 | 5 |
  201 + And I am on /catalog/artebonito
  202 + And I reload and wait for the page
  203 + Then I should see "Bananada" within "li.product-link"
  204 + And I should see "10.00" within "span.product-price"
  205 + And the "#product-price-composition-button" should not be visible
211 206
212 -#FIXME: this will only be available after AI1413  
213 -# @selenium  
214 -# Scenario: display price composition when button is clicked  
215 -# Given the following product  
216 -# | owner | category | name | price |  
217 -# | artebonito | food | Bananada | 10.00 |  
218 -# And the following input  
219 -# | product | category | price_per_unit | amount_used |  
220 -# | Bananada | food | 0.99 | 5 |  
221 -# And I am on /catalog/artebonito  
222 -# And I reload and wait for the page  
223 -# When I click "#product-price-composition-button"  
224 -# Then the "#product-price-composition" should be visible  
225 -# And I should see "food" within "#product-price-composition"  
226 -# And I should see "4.95" within "#product-price-composition" 207 + @selenium
  208 + Scenario: display price composition button (but not inputs)
  209 + Given the following product
  210 + | owner | category | name | price |
  211 + | artebonito | food | Bananada | 10.00 |
  212 + And the following input
  213 + | product | category | price_per_unit | amount_used |
  214 + | Bananada | food | 2.00 | 5 |
  215 + And I am on /catalog/artebonito
  216 + And I reload and wait for the page
  217 + Then I should see "Bananada" within "li.product-link"
  218 + And I should see "10.00" within "span.product-price"
  219 + And I should see "price composition" within "#product-price-composition-button"
  220 + And the "#product-price-composition-button" should be visible
  221 + And I should see "food" within "#product-price-composition"
  222 + And I should see "10.00" within "#product-price-composition"
  223 +
  224 + @selenium
  225 + Scenario: display price composition when button is clicked
  226 + Given the following product
  227 + | owner | category | name | price |
  228 + | artebonito | food | Bananada | 10.88 |
  229 + And the following input
  230 + | product | category | price_per_unit | amount_used |
  231 + | Bananada | food | 2.72 | 4 |
  232 + And I am on /catalog/artebonito
  233 + And I reload and wait for the page
  234 + When I click "#product-price-composition-button"
  235 + Then the "#product-price-composition" should be visible
  236 + And I should see "food" within "#product-price-composition"
  237 + And I should see "10.88" within "#product-price-composition"
227 238
228 @selenium 239 @selenium
229 Scenario: display inputs and raw materials button when not completely filled 240 Scenario: display inputs and raw materials button when not completely filled
@@ -294,5 +305,5 @@ Feature: browse catalogs @@ -294,5 +305,5 @@ Feature: browse catalogs
294 When I click "#inputs-button" 305 When I click "#inputs-button"
295 Then the "#inputs-description" should be visible 306 Then the "#inputs-description" should be visible
296 And I should see "7.0 Liter of food" within "#inputs-description" 307 And I should see "7.0 Liter of food" within "#inputs-description"
297 - When I click "#inputs-button" 308 + When I click "#product-list"
298 Then the "#inputs-description" should not be visible 309 Then the "#inputs-description" should not be visible