summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--billing/test/functional/subsciptions_controller_test.rb17
-rw-r--r--billing/test/integration/subscription_test.rb7
2 files changed, 22 insertions, 2 deletions
diff --git a/billing/test/functional/subsciptions_controller_test.rb b/billing/test/functional/subsciptions_controller_test.rb
new file mode 100644
index 0000000..bf8cf85
--- /dev/null
+++ b/billing/test/functional/subsciptions_controller_test.rb
@@ -0,0 +1,17 @@
+require 'test_helper'
+require 'fake_braintree'
+
+class SubscriptionsControllerTest < ActionController::TestCase
+
+ test "destroy cancels subscription" do
+ user = find_record :user
+ customer = stub_record :customer_with_payment_info, user: user
+ Customer.stubs(:find_by_user_id).with(user.id).returns(customer)
+ login customer.user
+ result = Braintree::Subscription.create plan_id: 'my_plan',
+ payment_method_token: customer.braintree_customer.credit_cards.first.token
+ subscription = result.subscription
+ delete :destroy, id: subscription.id, user_id: customer.user.id
+ assert_equal "Canceled", Braintree::Subscription.find(subscription.id).status
+ end
+end
diff --git a/billing/test/integration/subscription_test.rb b/billing/test/integration/subscription_test.rb
index 7410118..c53131e 100644
--- a/billing/test/integration/subscription_test.rb
+++ b/billing/test/integration/subscription_test.rb
@@ -13,8 +13,6 @@ class SubscriptionTest < ActionDispatch::IntegrationTest
@braintree_customer = FactoryGirl.create(:braintree_customer)
@customer.braintree_customer_id = @braintree_customer.id
@customer.save
- @subscription = FakeBraintree::Subscription.new({:payment_method_token => @braintree_customer.credit_cards.first, :plan_id => '5'}, {:id => @braintree_customer.id, :merchant_id => Braintree::Configuration.merchant_id})
- # unfortunately @braintree_customer.credit_cards.first.subscriptions still returns empty array
end
teardown do
@@ -23,6 +21,11 @@ class SubscriptionTest < ActionDispatch::IntegrationTest
@customer.destroy
end
+ test "can create subscription" do
+ @subscription = FakeBraintree::Subscription.new({:payment_method_token => @braintree_customer.credit_cards.first, :plan_id => '5'}, {:id => @braintree_customer.id, :merchant_id => Braintree::Configuration.merchant_id})
+ assert @braintree_customer.credit_cards.first.subscriptions.present?
+ end
+
test "admin can cancel subscription for another" do
skip "not sure about testing admin cancelling subscription with fake_braintree"
login_as @admin