summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2013-09-18 12:47:42 +0200
committerAzul <azul@leap.se>2013-09-18 12:47:42 +0200
commitc934787aa13977c3bb13155745f51ea71728d175 (patch)
tree7c2e567e0fded8dfd89b4c49c2bb13217a007fa6
parent0c687f4ad5193bbf5b8429a47140e45db408fc80 (diff)
working integration test
-rw-r--r--billing/test/integration/subscription_test.rb31
-rw-r--r--billing/test/support/customer_test_helper.rb4
2 files changed, 18 insertions, 17 deletions
diff --git a/billing/test/integration/subscription_test.rb b/billing/test/integration/subscription_test.rb
index c53131e..b893896 100644
--- a/billing/test/integration/subscription_test.rb
+++ b/billing/test/integration/subscription_test.rb
@@ -5,32 +5,31 @@ require 'capybara/rails'
class SubscriptionTest < ActionDispatch::IntegrationTest
include Warden::Test::Helpers
include Capybara::DSL
+ include CustomerTestHelper
+ include StubRecordHelper
setup do
Warden.test_mode!
- @admin = User.find_by_login('admin') || FactoryGirl.create(:user, login: 'admin')
- @customer = FactoryGirl.create(:customer)
- @braintree_customer = FactoryGirl.create(:braintree_customer)
- @customer.braintree_customer_id = @braintree_customer.id
- @customer.save
+ @admin = stub_record :user, :admin => true
+ @customer = stub_customer
+ @braintree_customer = @customer.braintree_customer
+ response = Braintree::Subscription.create plan_id: '5',
+ payment_method_token: @braintree_customer.credit_cards.first.token
+ @subscription = response.subscription
+ Capybara.current_driver = Capybara.javascript_driver
end
teardown do
Warden.test_reset!
- @admin.destroy
- @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"
+ test "admin can see subscription for another" do
login_as @admin
- #visit user_subscriptions_path(@customer.user_id)
- #delete :destroy, :id => @subscription.id
+ @customer.stubs(:subscriptions).returns([@subscription])
+ visit user_subscriptions_path(@customer.user_id)
+ assert page.has_content?("Subscriptions")
+ assert page.has_content?("Status: Active")
+ page.save_screenshot('/tmp/subscriptions.png')
end
#test "admin cannot add subscription for another" do
diff --git a/billing/test/support/customer_test_helper.rb b/billing/test/support/customer_test_helper.rb
index ad72edd..adac00a 100644
--- a/billing/test/support/customer_test_helper.rb
+++ b/billing/test/support/customer_test_helper.rb
@@ -2,7 +2,9 @@ module CustomerTestHelper
def stub_customer(user = nil)
user ||= find_record :user
- customer = stub_record :customer_with_payment_info, user: user
+ customer = stub_record :customer_with_payment_info,
+ user: user,
+ user_id: user.id
Customer.stubs(:find_by_user_id).with(user.id).returns(customer)
return customer
end