diff --git a/plugins/shopping_cart/lib/shopping_cart_plugin.rb b/plugins/shopping_cart/lib/shopping_cart_plugin.rb index 6137341..c1dd258 100644 --- a/plugins/shopping_cart/lib/shopping_cart_plugin.rb +++ b/plugins/shopping_cart/lib/shopping_cart_plugin.rb @@ -9,7 +9,7 @@ class ShoppingCartPlugin < Noosfero::Plugin end def add_to_cart_button(item, enterprise = context.profile) - if enterprise.shopping_cart + if enterprise.shopping_cart && item.available lambda { link_to(_('Add to cart'), "add:#{item.name}", :class => 'cart-add-item', diff --git a/plugins/shopping_cart/test/unit/shopping_cart_plugin_test.rb b/plugins/shopping_cart/test/unit/shopping_cart_plugin_test.rb index 2ad1d5a..2b00cea 100644 --- a/plugins/shopping_cart/test/unit/shopping_cart_plugin_test.rb +++ b/plugins/shopping_cart/test/unit/shopping_cart_plugin_test.rb @@ -19,4 +19,12 @@ class ShoppingCartPluginTest < Test::Unit::TestCase assert shopping_cart.stylesheet? end + should 'not add button if product unavailable' do + product = fast_create(Product, :available => false) + enterprise = mock() + enterprise.stubs(:shopping_cart).returns(true) + + assert_nil shopping_cart.add_to_cart_button(product, enterprise) + end + end -- libgit2 0.21.2