summaryrefslogtreecommitdiff
path: root/billing/test/integration/subscription_test.rb
blob: b89389634bd1a8e4781487654177ffa9bbc25163 (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
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 = 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!
  end

  test "admin can see subscription for another" do
    login_as @admin
    @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
  #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