From 68bb08169b9b1b0783a21cc29d1924ea48ca1eb4 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Wed, 25 May 2011 09:09:20 -0300 Subject: [PATCH] Only display add button to available products --- plugins/shopping_cart/lib/shopping_cart_plugin.rb | 2 +- plugins/shopping_cart/test/unit/shopping_cart_plugin_test.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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