diff options
| -rw-r--r-- | billing/test/functional/subsciptions_controller_test.rb | 17 | ||||
| -rw-r--r-- | billing/test/integration/subscription_test.rb | 7 | 
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 | 
