diff options
author | Azul <azul@leap.se> | 2013-09-18 12:13:48 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-09-18 12:13:48 +0200 |
commit | 0c687f4ad5193bbf5b8429a47140e45db408fc80 (patch) | |
tree | 8fbbf9ddfebad6ed90fb075c986dbbb43129f712 /billing | |
parent | 18a00ade1a88887b9a99c72ed2054fa2012ae2dc (diff) |
refactor: stub_customer test helper
Diffstat (limited to 'billing')
4 files changed, 21 insertions, 20 deletions
diff --git a/billing/test/functional/customer_controller_test.rb b/billing/test/functional/customer_controller_test.rb index 878ed48..d943e23 100644 --- a/billing/test/functional/customer_controller_test.rb +++ b/billing/test/functional/customer_controller_test.rb @@ -2,6 +2,7 @@ require 'test_helper' require 'fake_braintree' class CustomerControllerTest < ActionController::TestCase + include CustomerTestHelper test "new assigns redirect url" do login @@ -21,9 +22,7 @@ class CustomerControllerTest < ActionController::TestCase end test "edit uses params[:id]" 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) + customer = stub_customer login customer.user get :edit, id: customer.user.id @@ -34,7 +33,7 @@ class CustomerControllerTest < ActionController::TestCase assert_equal confirm_customer_url, tr_data[:redirect_url] end - test "confirm user creation" do + test "confirm customer creation" do login Braintree::TransparentRedirect.expects(:confirm).returns(success_response) # to_confirm = prepare_confirmation :create_customer_data, @@ -52,10 +51,8 @@ class CustomerControllerTest < ActionController::TestCase end test "customer update" do - user = find_record :user - customer = stub_record :customer_with_payment_info, user: user + customer = stub_customer customer.expects(:save) - Customer.stubs(:find_by_user_id).with(user.id).returns(customer) login customer.user Braintree::TransparentRedirect.expects(:confirm). returns(success_response(customer)) @@ -70,8 +67,8 @@ class CustomerControllerTest < ActionController::TestCase assert_equal customer.braintree_customer, result.customer end - test "failed user creation" do - skip "can't get user creation to fail" + test "failed customer creation" do + skip "can't get customer creation to fail" login FakeBraintree.decline_all_cards! # what is prepare_confirmation ?? this method isn't found @@ -86,7 +83,7 @@ class CustomerControllerTest < ActionController::TestCase assert !result.success? end - test "failed user creation with stubbing" do + test "failed customer creation with stubbing" do login Braintree::TransparentRedirect.expects(:confirm).returns(failure_response) post :confirm, bla: :blub @@ -95,10 +92,8 @@ class CustomerControllerTest < ActionController::TestCase assert_template :new end - test "failed user update with stubbing" 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) + test "failed customer update with stubbing" do + customer = stub_customer login customer.user Braintree::TransparentRedirect.expects(:confirm).returns(failure_response) post :confirm, bla: :blub diff --git a/billing/test/functional/payments_controller_test.rb b/billing/test/functional/payments_controller_test.rb index 055a990..dd742ba 100644 --- a/billing/test/functional/payments_controller_test.rb +++ b/billing/test/functional/payments_controller_test.rb @@ -17,9 +17,7 @@ class PaymentsControllerTest < ActionController::TestCase end test "payment when authenticated as customer" 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) + customer = stub_customer login customer.user get :new assert_not_nil assigns(:tr_data) diff --git a/billing/test/functional/subsciptions_controller_test.rb b/billing/test/functional/subsciptions_controller_test.rb index bf8cf85..a6a1057 100644 --- a/billing/test/functional/subsciptions_controller_test.rb +++ b/billing/test/functional/subsciptions_controller_test.rb @@ -2,11 +2,10 @@ require 'test_helper' require 'fake_braintree' class SubscriptionsControllerTest < ActionController::TestCase + include CustomerTestHelper 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) + customer = stub_customer login customer.user result = Braintree::Subscription.create plan_id: 'my_plan', payment_method_token: customer.braintree_customer.credit_cards.first.token diff --git a/billing/test/support/customer_test_helper.rb b/billing/test/support/customer_test_helper.rb new file mode 100644 index 0000000..ad72edd --- /dev/null +++ b/billing/test/support/customer_test_helper.rb @@ -0,0 +1,9 @@ +module CustomerTestHelper + + def stub_customer(user = nil) + user ||= find_record :user + customer = stub_record :customer_with_payment_info, user: user + Customer.stubs(:find_by_user_id).with(user.id).returns(customer) + return customer + end +end |