From 0c687f4ad5193bbf5b8429a47140e45db408fc80 Mon Sep 17 00:00:00 2001
From: Azul <azul@leap.se>
Date: Wed, 18 Sep 2013 12:13:48 +0200
Subject: refactor: stub_customer test helper

---
 .../test/functional/customer_controller_test.rb    | 23 +++++++++-------------
 .../test/functional/payments_controller_test.rb    |  4 +---
 .../functional/subsciptions_controller_test.rb     |  5 ++---
 billing/test/support/customer_test_helper.rb       |  9 +++++++++
 4 files changed, 21 insertions(+), 20 deletions(-)
 create mode 100644 billing/test/support/customer_test_helper.rb

(limited to 'billing/test')

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
-- 
cgit v1.2.3