diff options
Diffstat (limited to 'billing/test/functional/payments_controller_test.rb')
-rw-r--r-- | billing/test/functional/payments_controller_test.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/billing/test/functional/payments_controller_test.rb b/billing/test/functional/payments_controller_test.rb new file mode 100644 index 0000000..c8ef205 --- /dev/null +++ b/billing/test/functional/payments_controller_test.rb @@ -0,0 +1,55 @@ +require 'test_helper' + +class PaymentsControllerTest < ActionController::TestCase + + setup do + FakeBraintree.clear! + @user = FactoryGirl.create :user + @other_user = FactoryGirl.create :user + FakeBraintree.clear! + FakeBraintree.verify_all_cards! + testid = 'testid' + FakeBraintree::Customer.new({:credit_cards => [{:number=>"5105105105105100", :expiration_date=>"05/2013"}]}, {:id => testid, :merchant_id => Braintree::Configuration.merchant_id}) + # any reason to call the create instance method on the FakeBraintree::Customer ? + @customer = Customer.new(:user_id => @other_user.id) + @customer.braintree_customer_id = testid + @customer.save + end + + teardown do + @user.destroy + @other_user.destroy + @customer.destroy + end + + test "payment when unauthorized" do + get :new + assert_not_nil assigns(:tr_data) + assert_response :success + end + + test "authenticated user must create account before making payment" do + login @user + get :new + assert_response :redirect + assert_equal new_customer_url, response.header['Location'] + end + + test "payment when authenticated as customer" do + get :new + assert_not_nil assigns(:tr_data) + assert_response :success + #TODO check more here + end + + # what would we test with something like this? + test "fake transaction" do + transaction = FakeBraintree.generate_transaction(:amount => '20.00', + #:status => Braintree::Transaction::Status::Settled, + #:subscription_id => 'foobar', + ) + + end + + +end |