• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stripe / stripe-ruby / #5867

18 Apr 2024 09:24PM UTC coverage: 92.724% (-4.8%) from 97.485%
#5867

push

github

ramya-stripe
Bump version to 11.2.0

10067 of 10857 relevant lines covered (92.72%)

258.85 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.0
/test/stripe/source_test.rb
1
# frozen_string_literal: true
2

3
require File.expand_path("../test_helper", __dir__)
1✔
4

5
module Stripe
1✔
6
  class SourceTest < Test::Unit::TestCase
1✔
7
    should "be retrievable" do
1✔
8
      source = Stripe::Source.retrieve("src_123")
1✔
9
      assert_requested :get, "#{Stripe.api_base}/v1/sources/src_123"
1✔
10
      assert source.is_a?(Stripe::Source)
1✔
11
    end
12

13
    should "be creatable" do
1✔
14
      source = Stripe::Source.create(
1✔
15
        type: "card",
16
        token: "tok_123"
17
      )
18
      assert_requested :post, "#{Stripe.api_base}/v1/sources"
1✔
19
      assert source.is_a?(Stripe::Source)
1✔
20
    end
21

22
    should "be saveable" do
1✔
23
      source = Stripe::Source.retrieve("src_123")
1✔
24
      source.metadata["key"] = "value"
1✔
25
      source.save
1✔
26
      assert_requested :post, "#{Stripe.api_base}/v1/sources/#{source.id}"
1✔
27
    end
28

29
    should "be updateable" do
1✔
30
      source = Stripe::Source.update("src_123", metadata: { foo: "bar" })
1✔
31
      assert_requested :post, "#{Stripe.api_base}/v1/sources/src_123"
1✔
32
      assert source.is_a?(Stripe::Source)
1✔
33
    end
34

35
    context "#detach" do
1✔
36
      should "not be deletable when unattached" do
1✔
37
        source = Stripe::Source.retrieve("src_123")
1✔
38

39
        assert_raises NotImplementedError do
1✔
40
          source.detach
1✔
41
        end
42
      end
43

44
      should "be deletable when attached to a customer" do
1✔
45
        source = Stripe::Source.construct_from(customer: "cus_123",
1✔
46
                                               id: "src_123",
47
                                               object: "source")
48
        source = source.detach
1✔
49
        assert_requested :delete, "#{Stripe.api_base}/v1/customers/cus_123/sources/src_123"
1✔
50
        assert source.is_a?(Stripe::Source)
1✔
51
      end
52
    end
53

54
    should "not be listable" do
1✔
55
      assert_raises NoMethodError do
1✔
56
        Stripe::Source.list
1✔
57
      end
58
    end
59

60
    context "#verify" do
1✔
61
      should "verify the source" do
1✔
62
        source = Stripe::Source.retrieve("src_123")
1✔
63
        source = source.verify(values: [1, 2])
1✔
64
        assert_requested :post,
1✔
65
                         "#{Stripe.api_base}/v1/sources/#{source.id}/verify",
×
66
                         body: { values: [1, 2] }
67
        assert source.is_a?(Stripe::Source)
1✔
68
      end
69
    end
70

71
    context ".verify" do
1✔
72
      should "verify the source" do
1✔
73
        source = Stripe::Source.verify("src_123", values: [1, 2])
1✔
74
        assert_requested :post,
1✔
75
                         "#{Stripe.api_base}/v1/sources/src_123/verify",
×
76
                         body: { values: [1, 2] }
77
        assert source.is_a?(Stripe::Source)
1✔
78
      end
79
    end
80

81
    context ".list_source_transactions" do
1✔
82
      should "list source transactions" do
1✔
83
        Stripe::Source.list_source_transactions(
1✔
84
          "src_123"
85
        )
86
        assert_requested :get, "#{Stripe.api_base}/v1/sources/src_123/source_transactions"
1✔
87
      end
88
    end
89

90
    context "#source_transactions" do
1✔
91
      should "list source transactions" do
1✔
92
        old_stderr = $stderr
1✔
93
        $stderr = StringIO.new
1✔
94

95
        begin
×
96
          source = Stripe::Source.construct_from(id: "src_123",
2✔
97
                                                 object: "source")
98
          source.source_transactions
1✔
99
          assert_requested :get, "#{Stripe.api_base}/v1/sources/src_123/source_transactions"
1✔
100

101
          assert_include $stderr.string,
1✔
102
                         "use Source.list_source_transactions instead"
103
        ensure
104
          $stderr = old_stderr
1✔
105
        end
106
      end
107
    end
108
  end
109
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc