moip2 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +6 -12
  3. data/Gemfile +0 -1
  4. data/Gemfile.lock +4 -4
  5. data/README.md +142 -14
  6. data/changelog.md +55 -3
  7. data/examples/ecommerce/payment-with-boleto.rb +129 -0
  8. data/examples/ecommerce/payment-with-credit-card.rb +119 -0
  9. data/examples/ecommerce/payment-with-hash.rb +101 -0
  10. data/examples/marketplace/create-classical-account-company.rb +74 -0
  11. data/examples/marketplace/create-classical-account-without-company.rb +47 -0
  12. data/examples/marketplace/moip-connect.rb +31 -0
  13. data/examples/marketplace/payment-with-escrow.rb +88 -0
  14. data/examples/marketplace/payment-with-pre-authorization.rb +87 -0
  15. data/examples/marketplace/shared-cart.rb +220 -0
  16. data/lib/moip2/api.rb +17 -2
  17. data/lib/moip2/balances_api.rb +18 -0
  18. data/lib/moip2/bank_accounts_api.rb +51 -0
  19. data/lib/moip2/client.rb +11 -11
  20. data/lib/moip2/connect_api.rb +2 -13
  21. data/lib/moip2/connect_client.rb +11 -0
  22. data/lib/moip2/entry_api.rb +21 -0
  23. data/lib/moip2/multi_payment_api.rb +8 -0
  24. data/lib/moip2/order_api.rb +2 -1
  25. data/lib/moip2/resource/balances.rb +12 -0
  26. data/lib/moip2/resource/bank_account.rb +12 -0
  27. data/lib/moip2/resource/entry.rb +13 -0
  28. data/lib/moip2/version.rb +1 -1
  29. data/lib/moip2/webhooks_api.rb +20 -4
  30. data/lib/moip2.rb +7 -0
  31. data/moip2.gemspec +2 -0
  32. data/spec/moip2/balances_api_spec.rb +22 -0
  33. data/spec/moip2/bank_accounts_api_spec.rb +173 -0
  34. data/spec/moip2/client_spec.rb +13 -76
  35. data/spec/moip2/connect_api_spec.rb +1 -1
  36. data/spec/moip2/connect_client_spec.rb +63 -0
  37. data/spec/moip2/customer_api_spec.rb +3 -3
  38. data/spec/moip2/entry_api_spec.rb +43 -0
  39. data/spec/moip2/multi_payment_api_spec.rb +32 -2
  40. data/spec/moip2/order_api_spec.rb +24 -1
  41. data/spec/moip2/response_spec.rb +2 -6
  42. data/spec/moip2/webhooks_spec.rb +87 -11
  43. data/spec/moip2_spec.rb +1 -1
  44. data/spec/spec_helper.rb +3 -14
  45. data/vcr_cassettes/bank_account_create_fail.yml +39 -0
  46. data/vcr_cassettes/bank_account_create_sucess.yml +41 -0
  47. data/vcr_cassettes/bank_account_deleted_existent.yml +38 -0
  48. data/vcr_cassettes/bank_account_deleted_nonexistent.yml +38 -0
  49. data/vcr_cassettes/bank_account_find_all.yml +9525 -0
  50. data/vcr_cassettes/bank_account_show_existent.yml +40 -0
  51. data/vcr_cassettes/bank_account_show_nonexistent.yml +38 -0
  52. data/vcr_cassettes/bank_account_update.yml +41 -0
  53. data/vcr_cassettes/capture_multi_payment_sucess.yml +44 -0
  54. data/vcr_cassettes/find_all_entries.yml +63 -0
  55. data/vcr_cassettes/find_all_orders_q_search.yml +39 -0
  56. data/vcr_cassettes/{get_webhooks.yml → find_all_webhooks.yml} +1 -1
  57. data/vcr_cassettes/find_all_webhooks_event.yml +42 -0
  58. data/vcr_cassettes/find_all_webhooks_limit.yml +48 -0
  59. data/vcr_cassettes/find_all_webhooks_multi_params.yml +38 -0
  60. data/vcr_cassettes/find_all_webhooks_no_filter.yml +58 -0
  61. data/vcr_cassettes/find_all_webhooks_offset.yml +58 -0
  62. data/vcr_cassettes/find_all_webhooks_resource_id.yml +38 -0
  63. data/vcr_cassettes/get_balances.yml +44 -0
  64. data/vcr_cassettes/show_entries.yml +43 -0
  65. data/vcr_cassettes/void_multi_payment_sucess.yml +46 -0
  66. metadata +50 -4
@@ -0,0 +1,51 @@
1
+ module Moip2
2
+ class BankAccountsApi
3
+ attr_reader :client
4
+
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ def create(account_id, bank_account)
10
+ Resource::BankAccount.new client, client.post(
11
+ base_account_path(account_id),
12
+ bank_account,
13
+ )
14
+ end
15
+
16
+ def show(bank_account_id)
17
+ Resource::BankAccount.new client, client.get(
18
+ base_bank_account_path(bank_account_id),
19
+ )
20
+ end
21
+
22
+ def delete(bank_account_id)
23
+ Resource::BankAccount.new client, client.delete(
24
+ base_bank_account_path(bank_account_id),
25
+ )
26
+ end
27
+
28
+ def update(bank_account_id, bank_account)
29
+ Resource::BankAccount.new client, client.put(
30
+ base_bank_account_path(bank_account_id),
31
+ bank_account,
32
+ )
33
+ end
34
+
35
+ def find_all(account_id)
36
+ Resource::BankAccount.new client, client.get(
37
+ base_account_path(account_id),
38
+ )
39
+ end
40
+
41
+ private
42
+
43
+ def base_bank_account_path(bank_account_id)
44
+ "/v2/bankaccounts/#{bank_account_id}"
45
+ end
46
+
47
+ def base_account_path(account_id)
48
+ "/v2/accounts/#{account_id}/bankaccounts"
49
+ end
50
+ end
51
+ end
data/lib/moip2/client.rb CHANGED
@@ -4,12 +4,12 @@ module Moip2
4
4
 
5
5
  attr_reader :env, :auth, :uri
6
6
 
7
- def initialize(env = :sandbox, auth = nil, host = get_base_uri(env), opts = {})
7
+ def initialize(env = :sandbox, auth = nil, opts = {})
8
8
  @env = env.to_sym
9
9
  @auth = auth
10
10
  @opts = opts
11
11
 
12
- @uri = host
12
+ @uri = get_base_uri
13
13
  self.class.base_uri @uri
14
14
  end
15
15
 
@@ -62,20 +62,20 @@ module Moip2
62
62
  create_response resp
63
63
  end
64
64
 
65
- private
66
-
67
- def get_base_uri(env)
68
- return ENV["base_uri"] if ENV["base_uri"]
69
-
70
- @env = env.to_sym
71
-
65
+ def host
72
66
  if production?
73
- "https://api.moip.com.br"
67
+ "api.moip.com.br"
74
68
  else
75
- "https://sandbox.moip.com.br"
69
+ "sandbox.moip.com.br"
76
70
  end
77
71
  end
78
72
 
73
+ private
74
+
75
+ def get_base_uri
76
+ "https://#{host}"
77
+ end
78
+
79
79
  def create_response(resp)
80
80
  raise NotFoundError, "Resource not found" if resp.code == 404
81
81
 
@@ -2,25 +2,14 @@ module Moip2
2
2
  class ConnectApi
3
3
  attr_reader :client
4
4
 
5
- CONNECT_SANDBOX = "connect-sandbox.moip.com.br".freeze
6
- CONNECT_PRODUCTION = "connect.moip.com.br".freeze
7
-
8
5
  def initialize(client)
9
6
  @client = client
10
7
  end
11
8
 
12
- def self.connect_uri(production = false)
13
- production ? CONNECT_PRODUCTION : CONNECT_SANDBOX
14
- end
15
-
16
- def self.host(env = :sandbox)
17
- "https://#{connect_uri(env == :production)}"
18
- end
19
-
20
9
  def authorize_url(client_id, redirect_uri, scope)
21
10
  URI::HTTPS.build(
22
- host: self.class.connect_uri(client.production?),
23
- path: "/oauth/authorize",
11
+ host: client.host,
12
+ path: "/oauth/authorize",
24
13
  query: URI.encode_www_form(
25
14
  response_type: "code",
26
15
  client_id: client_id,
@@ -0,0 +1,11 @@
1
+ module Moip2
2
+ class ConnectClient < Client
3
+ def host
4
+ if production?
5
+ "connect.moip.com.br"
6
+ else
7
+ "connect-sandbox.moip.com.br"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module Moip2
2
+ class EntryApi
3
+ attr_reader :client
4
+
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ def base_path
10
+ "/v2/entries"
11
+ end
12
+
13
+ def show(id)
14
+ Resource::Entry.new client, client.get("#{base_path}/#{id}")
15
+ end
16
+
17
+ def find_all
18
+ Resource::Entry.new client, client.get("#{base_path}")
19
+ end
20
+ end
21
+ end
@@ -17,5 +17,13 @@ module Moip2
17
17
  def show(multi_payment_id)
18
18
  Resource::MultiPayment.new client.get("/v2/multipayments/#{multi_payment_id}")
19
19
  end
20
+
21
+ def capture(multi_payment_id)
22
+ Resource::MultiPayment.new client.post("/v2/multipayments/#{multi_payment_id}/capture", {})
23
+ end
24
+
25
+ def void(multi_payment_id)
26
+ Resource::MultiPayment.new client.post("/v2/multipayments/#{multi_payment_id}/void", {})
27
+ end
20
28
  end
21
29
  end
@@ -18,13 +18,14 @@ module Moip2
18
18
  Resource::Order.new client, client.get("#{base_path}/#{id}")
19
19
  end
20
20
 
21
- def find_all(limit: nil, offset: nil, filters: nil)
21
+ def find_all(limit: nil, offset: nil, q: nil, filters: nil)
22
22
  encoded_filters = Moip2::Util::FiltersEncoder.encode(filters)
23
23
 
24
24
  # `URI.encode...` will accept nil params, but they will pollute the URI
25
25
  params = {
26
26
  limit: limit,
27
27
  offset: offset,
28
+ q: q,
28
29
  filters: encoded_filters,
29
30
  }.reject { |_, value| value.nil? }
30
31
 
@@ -0,0 +1,12 @@
1
+ module Moip2
2
+ module Resource
3
+ class Balances < SimpleDelegator
4
+ attr_reader :client
5
+
6
+ def initialize(client, response)
7
+ super(response)
8
+ @client = client
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module Moip2
2
+ module Resource
3
+ class BankAccount < SimpleDelegator
4
+ attr_reader :client
5
+
6
+ def initialize(client, response)
7
+ super(response)
8
+ @client = client
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+
2
+ module Moip2
3
+ module Resource
4
+ class Entry < SimpleDelegator
5
+ attr_reader :client
6
+
7
+ def initialize(client, response)
8
+ super(response)
9
+ @client = client
10
+ end
11
+ end
12
+ end
13
+ end
data/lib/moip2/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Moip2
2
- VERSION = "1.0.0".freeze
2
+ VERSION = "1.1.0".freeze
3
3
  end
@@ -6,12 +6,28 @@ module Moip2
6
6
  @client = client
7
7
  end
8
8
 
9
- def base_path
10
- "/v2/webhooks"
9
+ def find_all(limit: nil, offset: nil, resource_id: nil, event: nil)
10
+ # `URI.encode...` will accept nil params, but they will pollute the URI
11
+ params = {
12
+ limit: limit,
13
+ offset: offset,
14
+ resourceId: resource_id,
15
+ event: event,
16
+ }.reject { |_, value| value.nil? }
17
+
18
+ query_string = URI.encode_www_form(params)
19
+ path = "#{base_path}?#{query_string}"
20
+ response = client.get(path)
21
+
22
+ # We need to transform raw JSON in Webhooks objects
23
+ response.webhooks.map! { |webhooks| Resource::Webhooks.new client, webhooks }
24
+ Resource::Webhooks.new client, response
11
25
  end
12
26
 
13
- def show
14
- Resource::Webhooks.new(client, client.get(base_path.to_s))
27
+ private
28
+
29
+ def base_path
30
+ "/v2/webhooks"
15
31
  end
16
32
  end
17
33
  end
data/lib/moip2.rb CHANGED
@@ -9,6 +9,7 @@ require "moip2/auth/oauth"
9
9
 
10
10
  require "moip2/resource/account"
11
11
  require "moip2/resource/order"
12
+ require "moip2/resource/entry"
12
13
  require "moip2/resource/payment"
13
14
  require "moip2/resource/multi_order"
14
15
  require "moip2/resource/multi_payment"
@@ -20,10 +21,14 @@ require "moip2/resource/webhooks"
20
21
  require "moip2/resource/connect"
21
22
  require "moip2/resource/credit_card"
22
23
  require "moip2/resource/notification"
24
+ require "moip2/resource/balances"
25
+ require "moip2/resource/bank_account"
23
26
 
24
27
  require "moip2/response"
25
28
  require "moip2/client"
29
+ require "moip2/connect_client"
26
30
  require "moip2/order_api"
31
+ require "moip2/entry_api"
27
32
  require "moip2/multi_order_api"
28
33
  require "moip2/payment_api"
29
34
  require "moip2/multi_payment_api"
@@ -36,6 +41,8 @@ require "moip2/webhooks_api"
36
41
  require "moip2/accounts_api"
37
42
  require "moip2/connect_api"
38
43
  require "moip2/notifications_api"
44
+ require "moip2/balances_api"
45
+ require "moip2/bank_accounts_api"
39
46
 
40
47
  require "moip2/exceptions/invalid_enviroment_error"
41
48
 
data/moip2.gemspec CHANGED
@@ -13,6 +13,7 @@ Gem::Specification.new do |spec|
13
13
  "Caio Gama",
14
14
  "João Lucas Lucchetta",
15
15
  "Caio Gaspar",
16
+ "Jair Bressani Junior",
16
17
  ]
17
18
  spec.email = [
18
19
  "rodrigo.saito@moip.com.br",
@@ -20,6 +21,7 @@ Gem::Specification.new do |spec|
20
21
  "caio.gama@moip.com.br",
21
22
  "joao.lucchetta@moip.com.br",
22
23
  "caio.gaspar@moip.com.br",
24
+ "jair.bressani@moip.com.br",
23
25
  ]
24
26
  spec.summary = "Ruby client for moip v2 api"
25
27
  spec.description = "Ruby client for moip v2 api"
@@ -0,0 +1,22 @@
1
+ describe Moip2::BalancesApi do
2
+ let(:balances_api) { described_class.new sandbox_oauth_client }
3
+
4
+ describe "#show" do
5
+ let(:balances) do
6
+ VCR.use_cassette("get_balances") do
7
+ balances_api.show
8
+ end
9
+ end
10
+
11
+ it {
12
+ expect(balances).to have_attributes(
13
+ unavailable: be_an(Array),
14
+ future: be_an(Array),
15
+ current: be_an(Array),
16
+ )
17
+ }
18
+ it { expect(balances.unavailable.first).to have_attributes(amount: be_a(Numeric), currency: be_a(String)) }
19
+ it { expect(balances.future.first).to have_attributes(amount: be_a(Numeric), currency: be_a(String)) }
20
+ it { expect(balances.current.first).to have_attributes(amount: be_a(Numeric), currency: be_a(String)) }
21
+ end
22
+ end
@@ -0,0 +1,173 @@
1
+ describe Moip2::BankAccountsApi do
2
+ let(:bank_accounts_api) { described_class.new sandbox_client }
3
+
4
+ describe "#create" do
5
+ context "when given an existent moip account" do
6
+ let(:bank_account) do
7
+ {
8
+ bank_number: "237",
9
+ agency_number: "12345",
10
+ agency_check_number: "0",
11
+ account_number: "12345678",
12
+ account_check_number: "7",
13
+ type: "CHECKING",
14
+ holder: {
15
+ tax_document: {
16
+ type: "CPF",
17
+ number: "255.328.259-12",
18
+ },
19
+ fullname: "Jose Silva dos Santos",
20
+ },
21
+ }
22
+ end
23
+
24
+ let(:created_bank_account) do
25
+ VCR.use_cassette("bank_account_create_sucess") do
26
+ bank_accounts_api.create("MPA-CULBBYHD11", bank_account)
27
+ end
28
+ end
29
+
30
+ it "creates an bank_account accordingly" do
31
+ expect(created_bank_account.id).to_not be_nil
32
+ expect(created_bank_account.agency_number).to eq("12345")
33
+ expect(created_bank_account.holder.tax_document.number).to eq("255.328.259-12")
34
+ expect(created_bank_account.holder.tax_document.type).to eq("CPF")
35
+ expect(created_bank_account.holder.fullname).to eq("Jose Silva dos Santos")
36
+ expect(created_bank_account.account_number).to eq("12345678")
37
+ expect(created_bank_account.account_check_number).to eq("7")
38
+ expect(created_bank_account.bank_name).to_not be_nil
39
+ expect(created_bank_account.agency_check_number).to eq("0")
40
+ expect(created_bank_account.bank_number).to eq("237")
41
+ end
42
+ end
43
+
44
+ context "when given a nonexistent moip account" do
45
+ let(:non_created_bank_account) do
46
+ {
47
+ bank_number: "237",
48
+ agency_number: "12345",
49
+ agency_check_number: "0",
50
+ account_number: "12345678",
51
+ account_check_number: "7",
52
+ type: "CHECKING",
53
+ holder: {
54
+ tax_document: {
55
+ type: "CPF",
56
+ number: "255.328.259-12",
57
+ },
58
+ fullname: "Jose Silva dos Santos",
59
+ },
60
+ }
61
+ end
62
+
63
+ let(:bank_account) do
64
+ VCR.use_cassette("bank_account_create_fail") do
65
+ bank_accounts_api.create("MPA-F00B4R123456", non_created_bank_account)
66
+ end
67
+ end
68
+
69
+ it { expect(bank_account.response.code).to eq("401") }
70
+ end
71
+ end
72
+
73
+ describe "#show" do
74
+ context "when given an existent bank_account" do
75
+ let(:bank_account) do
76
+ VCR.use_cassette("bank_account_show_existent") do
77
+ bank_accounts_api.show("BKA-YBG1D8FKXXMT")
78
+ end
79
+ end
80
+
81
+ it "shows an the bank_account accordingly" do
82
+ expect(bank_account.id).to_not be_nil
83
+ expect(bank_account.agency_number).to eq("12345")
84
+ expect(bank_account.holder.tax_document.number).to eq("255.328.259-12")
85
+ expect(bank_account.holder.tax_document.type).to eq("CPF")
86
+ expect(bank_account.holder.fullname).to eq("Jose Silva dos Santos")
87
+ expect(bank_account.account_number).to eq("12345678")
88
+ expect(bank_account.account_check_number).to eq("7")
89
+ expect(bank_account.bank_name).to_not be_nil
90
+ expect(bank_account.agency_check_number).to eq("0")
91
+ expect(bank_account.bank_number).to eq("237")
92
+ end
93
+ end
94
+
95
+ context "when given a nonexistent account" do
96
+ let(:bank_account) do
97
+ VCR.use_cassette("bank_account_show_nonexistent") do
98
+ bank_accounts_api.show("BKA-F00B4R123456")
99
+ end
100
+ end
101
+
102
+ it { expect { bank_account }.to raise_error(Moip2::NotFoundError) }
103
+ end
104
+ end
105
+
106
+ describe "#find_all" do
107
+ let(:bank_account) do
108
+ VCR.use_cassette("bank_account_find_all") do
109
+ bank_accounts_api.find_all("MPA-CULBBYHD11")
110
+ end
111
+ end
112
+ it { expect(bank_account.first["id"]).to eq("BKA-EQW51MWMAO22") }
113
+ end
114
+
115
+ describe "#update" do
116
+ let(:bank_account) do
117
+ {
118
+ bank_number: "237",
119
+ agency_number: "54321",
120
+ agency_check_number: "0",
121
+ account_number: "12345678",
122
+ account_check_number: "7",
123
+ type: "CHECKING",
124
+ holder: {
125
+ tax_document: {
126
+ type: "CPF",
127
+ number: "255.328.259-12",
128
+ },
129
+ fullname: "Jose Silva dos Santos",
130
+ },
131
+ }
132
+ end
133
+
134
+ let(:updated_bank_account) do
135
+ VCR.use_cassette("bank_account_update") do
136
+ bank_accounts_api.update("BKA-QQSVKMC06A6I", bank_account)
137
+ end
138
+ end
139
+
140
+ it "returns an bank_account accordingly to the update" do
141
+ expect(updated_bank_account.id).to_not be_nil
142
+ expect(updated_bank_account.agency_number).to eq("54321")
143
+ expect(updated_bank_account.holder.tax_document.number).to eq("255.328.259-12")
144
+ expect(updated_bank_account.holder.tax_document.type).to eq("CPF")
145
+ expect(updated_bank_account.holder.fullname).to eq("Jose Silva dos Santos")
146
+ expect(updated_bank_account.account_number).to eq("12345678")
147
+ expect(updated_bank_account.account_check_number).to eq("7")
148
+ expect(updated_bank_account.bank_name).to_not be_nil
149
+ expect(updated_bank_account.agency_check_number).to eq("0")
150
+ expect(updated_bank_account.bank_number).to eq("237")
151
+ end
152
+ end
153
+
154
+ describe "#delete" do
155
+ context "when given an existent bank account" do
156
+ let(:bank_account) do
157
+ VCR.use_cassette("bank_account_deleted_existent") do
158
+ bank_accounts_api.delete("BKA-YBG1D8FKXXMT")
159
+ end
160
+ end
161
+ it { expect(bank_account.response.code).to eq("200") }
162
+ end
163
+
164
+ context "when given a nonexistent bank account" do
165
+ let(:bank_account) do
166
+ VCR.use_cassette("bank_account_deleted_nonexistent") do
167
+ bank_accounts_api.delete("BKA-F00B4R123456")
168
+ end
169
+ end
170
+ it { expect { bank_account }.to raise_error(Moip2::NotFoundError) }
171
+ end
172
+ end
173
+ end
@@ -16,105 +16,42 @@ describe Moip2::Client do
16
16
  end
17
17
 
18
18
  describe "initialize on sandbox with OAuth" do
19
- let(:client) do
20
- described_class.new :sandbox, auth
21
- end
22
-
23
- let(:client) { described_class.new :sandbox, oauth }
24
- it { expect(client.uri).to eq ENV["sandbox_url"] }
25
- it { expect(client.env).to eq :sandbox }
26
- it {
27
- expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
28
- }
29
- end
30
-
31
- describe "initialize on production" do
32
- let(:client) do
33
- described_class.new :production, oauth
34
- end
35
-
36
- it { expect(client.uri).to eq "https://api.moip.com.br" }
37
- it { expect(client.env).to eq :production }
38
- it {
39
- expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
40
- }
41
- end
42
-
43
- describe "initialize on sandbox with base_uri and OAuth" do
44
- before do
45
- ENV["base_uri"] = "http://localhost:5000"
46
- end
47
-
48
19
  let(:client) do
49
20
  described_class.new :sandbox, oauth
50
21
  end
51
22
 
52
- it { expect(client.uri).to eq "http://localhost:5000" }
23
+ it { expect(client.uri).to eq "https://sandbox.moip.com.br" }
53
24
  it { expect(client.env).to eq :sandbox }
54
- it {
55
- expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
56
- }
57
- end
58
-
59
- describe "initialize on production with base_uri and OAuth" do
60
- before do
61
- ENV["base_uri"] = "http://localhost:5000"
25
+ it do
26
+ expect(client.opts[:headers]["Authorization"]).
27
+ to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
62
28
  end
29
+ end
63
30
 
31
+ describe "initialize on production with OAuth" do
64
32
  let(:client) do
65
33
  described_class.new :production, oauth
66
34
  end
67
35
 
68
- it { expect(client.uri).to eq "http://localhost:5000" }
36
+ it { expect(client.uri).to eq "https://api.moip.com.br" }
69
37
  it { expect(client.env).to eq :production }
70
- it {
71
- expect(client.opts[:headers]["Authorization"]).to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
72
- }
73
- end
74
-
75
- describe "initialize on sandbox with base_uri" do
76
- before do
77
- ENV["base_uri"] = "http://localhost:5000"
78
- end
79
-
80
- let(:client) do
81
- described_class.new :sandbox, auth
38
+ it do
39
+ expect(client.opts[:headers]["Authorization"]).
40
+ to eq "OAuth 9fdc242631454d4c95d82e27b4127394_v2"
82
41
  end
83
-
84
- it { expect(client.uri).to eq "http://localhost:5000" }
85
- it { expect(client.env).to eq :sandbox }
86
- it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
87
42
  end
88
43
 
89
- describe "initialize on production with base_uri" do
90
- before do
91
- ENV["base_uri"] = "http://localhost:5000"
92
- end
93
-
94
- let(:client) do
95
- described_class.new :production, auth
96
- end
97
-
98
- it { expect(client.uri).to eq "http://localhost:5000" }
99
- it { expect(client.env).to eq :production }
100
- it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
101
- end
102
-
103
- describe "initialize on sandbox" do
104
- before do
105
- ENV["base_uri"] = nil
106
- end
107
-
44
+ describe "initialize on sandbox with Basic authentication" do
108
45
  let(:client) do
109
46
  described_class.new :sandbox, auth
110
47
  end
111
48
 
112
- it { expect(client.uri).to eq ENV["sandbox_url"] }
49
+ it { expect(client.uri).to eq "https://sandbox.moip.com.br" }
113
50
  it { expect(client.env).to eq :sandbox }
114
51
  it { expect(client.opts[:headers]["Authorization"]).to eq "Basic VE9LRU46U0VDUkVU" }
115
52
  end
116
53
 
117
- describe "initialize on production" do
54
+ describe "initialize on production with Basic authentication" do
118
55
  let(:client) do
119
56
  described_class.new :production, auth
120
57
  end
@@ -1,5 +1,5 @@
1
1
  describe Moip2::ConnectApi do
2
- let(:connect_api) { described_class.new sandbox_client_connect }
2
+ let(:connect_api) { described_class.new sandbox_connect_client }
3
3
 
4
4
  describe "#authorize_url" do
5
5
  let (:authorize_url) do