summaryrefslogtreecommitdiff
path: root/billing/test/integration/subscription_test.rb
blob: b95bfac96065c8ce701d9968dc28f07236af04ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
require 'test_helper'
require 'fake_braintree'
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 = stub_customer
    @braintree_customer = @customer.braintree_customer
    response = Braintree::Subscription.create plan_id: '5',
      payment_method_token: @braintree_customer.credit_cards.first.token,
      price: '10'
    @subscription = response.subscription
    Capybara.current_driver = Capybara.javascript_driver
  end

  teardown do
    Warden.test_reset!
    @admin.destroy
  end

  test "admin can see all subscriptions for another" do
    login_as @admin
    @customer.stubs(:subscriptions).returns([@subscription])
    @subscription.stubs(:balance).returns 0
    visit user_subscriptions_path(@customer.user_id, :locale => nil)
    assert page.has_content?("Subscriptions")
    assert page.has_content?("Status: Active")
    page.save_screenshot('/tmp/subscriptions.png')
  end

  # test "user cannot see all subscriptions for other user" do
  #end

  #test "admin cannot add subscription for another" do
  #end

  #test "authenticated user can cancel own subscription" do
  #end

  #test "user cannot add subscription if they have active one" do
  #end

  #test "user can view own subscriptions"
  #end

  #test "admin can view another user's subscriptions" do
  #end

end