diff --git a/lib/stripe/product.rb b/lib/stripe/product.rb index d332d436..0cd11c42 100644 --- a/lib/stripe/product.rb +++ b/lib/stripe/product.rb @@ -3,6 +3,7 @@ module Stripe extend Stripe::APIOperations::List extend Stripe::APIOperations::Create include Stripe::APIOperations::Update + include Stripe::APIOperations::Delete # Keep APIResource#url as `api_url` to avoid letting the external URL # replace the Stripe URL. diff --git a/lib/stripe/sku.rb b/lib/stripe/sku.rb index 3f4a2b1f..47418913 100644 --- a/lib/stripe/sku.rb +++ b/lib/stripe/sku.rb @@ -3,6 +3,7 @@ module Stripe extend Stripe::APIOperations::List extend Stripe::APIOperations::Create include Stripe::APIOperations::Update + include Stripe::APIOperations::Delete end end diff --git a/test/stripe/product_test.rb b/test/stripe/product_test.rb index abcbe890..de3c3bdd 100644 --- a/test/stripe/product_test.rb +++ b/test/stripe/product_test.rb @@ -11,12 +11,14 @@ module Stripe end end - should "products should not be deletable" do - assert_raises NoMethodError do - @mock.expects(:get).once.returns(make_response(make_product)) - p = Stripe::Product.retrieve("test_product") - p.delete - end + should "products should be deletable" do + @mock.expects(:get).once.returns(make_response(make_product)) + @mock.expects(:delete).once. + returns(make_response(make_product(:deleted => true))) + + p = Stripe::Product.retrieve("test_product") + p.delete + assert p.deleted end should "products should be updateable" do diff --git a/test/stripe/sku_test.rb b/test/stripe/sku_test.rb index c69ae332..b85de5fa 100644 --- a/test/stripe/sku_test.rb +++ b/test/stripe/sku_test.rb @@ -12,12 +12,13 @@ module Stripe end end - should "SKUs should not be deletable" do - assert_raises NoMethodError do - @mock.expects(:get).once.returns(make_response(make_sku)) - p = Stripe::SKU.retrieve("test_product") - p.delete - end + should "SKUs should be deletable" do + @mock.expects(:get).once.returns(make_response(make_sku)) + @mock.expects(:delete).once.returns(make_response(make_sku(:deleted => true))) + + s = Stripe::SKU.retrieve("test_sku") + s.delete + assert s.deleted end end