zen-plaid 0.0.6 → 0.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62807e29dc86f814f5dd40dc741d4210904601dc
4
- data.tar.gz: 1a0a40fbfe637a3fdaab6b3e6b735993a86b5dcc
3
+ metadata.gz: 6fa6f28665973a6deb6be5c37b29580c5051eec9
4
+ data.tar.gz: 6aeb57c3ca845aeb8575b4ce2ffb92715d46567f
5
5
  SHA512:
6
- metadata.gz: bceaefdfe239f2930a8857af0a84631150587faf3304657935d57eb7031364cb2a7f95e8e0c307e6517a22fb072145e4ea78c5054e723979b32ccfbb67c1a5e6
7
- data.tar.gz: 81222afd176d920052e25e30c1381d9d0d166917fb4838581178596a26f5faf1ba3a6d97ce7a5d3f073e59b174a9a16ab8d0ed63a8563083cdc6cc6cec9a559e
6
+ metadata.gz: 145454335a75b86ecf55b8c45be94f4f0f702336bd16f1c2edbda5dd814c657da176381099a03910094e40dcff3fbb3d19a005f27bdd43633c80596264da5561
7
+ data.tar.gz: 6a0e10bcc4873b693d47925b57fec10fb7c04d9a956244f69b4c54793ee5be93f09252c21744aa24c2c3b3558bb46ec41bfe7f4a28a3db6767998b54a5a64cef
@@ -11,5 +11,13 @@ module Plaid
11
11
  def self.mfa_step(params)
12
12
  Plaid.request(:post, 'connect/step', params)
13
13
  end
14
+
15
+ def self.update_user(params)
16
+ Plaid.request(:patch, '/connect', params)
17
+ end
18
+
19
+ def self.update_mfa_step(params)
20
+ Plaid.request(:patch, '/connect/step', params)
21
+ end
14
22
  end
15
23
  end
@@ -1,3 +1,3 @@
1
1
  module Plaid
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
data/lib/zen-plaid.rb CHANGED
@@ -10,7 +10,6 @@ require 'zen-plaid/auth'
10
10
  require 'zen-plaid/balance'
11
11
  require 'zen-plaid/category'
12
12
  require 'zen-plaid/connect'
13
- require 'zen-plaid/entity'
14
13
  require 'zen-plaid/institution'
15
14
 
16
15
  module Plaid
@@ -21,8 +20,7 @@ module Plaid
21
20
 
22
21
  def self.handle_api_error(rcode, rbody)
23
22
  error_obj = Util.symbolize_names(Oj.load(rbody))
24
-
25
- {code: rcode, error: error_obj}
23
+ {code: rcode, plaid_code: error_obj[:code], http_code: rcode, error: error_obj}
26
24
  end
27
25
 
28
26
  def self.parse(response)
data/spec/auth_spec.rb CHANGED
@@ -9,9 +9,9 @@ describe Plaid::Auth do
9
9
  end
10
10
 
11
11
  context 'missing password' do
12
- it "returns 402 http code" do
12
+ it "returns 400 http code" do
13
13
  connection = Plaid::Auth.add({type: 'bofa', username: 'plaid_test'})
14
- expect(connection[:code]).to eq(402)
14
+ expect(connection[:code]).to eq(400)
15
15
  end
16
16
  end
17
17
 
@@ -23,9 +23,9 @@ describe Plaid::Auth do
23
23
  end
24
24
 
25
25
  context 'forget pin when its needed' do
26
- it "returns 402 http code" do
26
+ it "returns 400 http code" do
27
27
  connection = Plaid::Auth.add({type: 'usaa', username: 'plaid_test', password: 'plaid_good'})
28
- expect(connection[:code]).to eq(402)
28
+ expect(connection[:code]).to eq(400)
29
29
  end
30
30
  end
31
31
 
data/spec/connect_spec.rb CHANGED
@@ -67,9 +67,9 @@ describe Plaid::Connect do
67
67
 
68
68
  describe "#add" do
69
69
  context 'missing password' do
70
- it "returns 402 http code" do
70
+ it "returns 400 http code" do
71
71
  connection = Plaid::Connect.add({type: 'amex', username: 'plaid_test'})
72
- expect(connection[:code]).to eq(402)
72
+ expect(connection[:code]).to eq(400)
73
73
  end
74
74
  end
75
75
 
@@ -81,9 +81,9 @@ describe Plaid::Connect do
81
81
  end
82
82
 
83
83
  context 'forget pin when its needed' do
84
- it "returns 402 http code" do
84
+ it "returns 400 http code" do
85
85
  connection = Plaid::Connect.add({type: 'usaa', username: 'plaid_test', password: 'plaid_good'})
86
- expect(connection[:code]).to eq(402)
86
+ expect(connection[:code]).to eq(400)
87
87
  end
88
88
  end
89
89
 
@@ -243,4 +243,98 @@ describe Plaid::Connect do
243
243
  end
244
244
  end
245
245
  end
246
+
247
+ describe "#update_user" do
248
+ context 'missing access_token' do
249
+ it "returns 400 http code" do
250
+ connection = Plaid::Connect.update_user({type: 'amex', username: 'plaid_test', password: 'plaid_good'})
251
+ expect(connection[:code]).to eq(400)
252
+ end
253
+ end
254
+
255
+ context 'missing password' do
256
+ it "returns 400 http code" do
257
+ connection = Plaid::Connect.update_user({access_token: 'test', type: 'amex', username: 'plaid_test'})
258
+ expect(connection[:code]).to eq(402)
259
+ end
260
+ end
261
+
262
+ context 'pin when its not needed' do
263
+ it "returns 200 http code" do
264
+ connection = Plaid::Connect.update_user({access_token: 'test', type: 'amex', username: 'plaid_test', password: 'plaid_good', pin: 1234})
265
+ expect(connection[:code]).to eq(200)
266
+ end
267
+ end
268
+
269
+ context 'forget pin when its needed' do
270
+ it "returns 402 http code" do
271
+ connection = Plaid::Connect.update_user({access_token: 'test', type: 'usaa', username: 'plaid_test', password: 'plaid_good'})
272
+ expect(connection[:code]).to eq(402)
273
+ end
274
+ end
275
+
276
+ context 'locked credentials with no mfa' do
277
+ it "returns 402 http code" do
278
+ connection = Plaid::Connect.update_user({access_token: 'test', type: 'amex', username: 'plaid_test', password: 'plaid_locked'})
279
+ expect(connection[:code]).to eq(402)
280
+ end
281
+
282
+ it "returns error message" do
283
+ connection = Plaid::Connect.update_user({access_token: 'test', type: 'amex', username: 'plaid_test', password: 'plaid_locked'})
284
+ expect(connection[:error][:message]).to eq('account locked')
285
+ end
286
+
287
+ it "returns error resolution" do
288
+ connection = Plaid::Connect.update_user({access_token: 'test', type: 'amex', username: 'plaid_test', password: 'plaid_locked'})
289
+ expect(connection[:error][:resolve]).to include('The account is locked.')
290
+ end
291
+ end
292
+ end
293
+
294
+ describe "#update_mfa_step" do
295
+ context 'correct mfa reply code' do
296
+ it "returns 200 http code" do
297
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'chase', mfa: '1234'})
298
+ expect(connection[:code]).to eq(200)
299
+ end
300
+ end
301
+
302
+ context 'wrong mfa reply code' do
303
+ it "returns 402 http code" do
304
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'chase', mfa: '666'})
305
+ expect(connection[:code]).to eq(402)
306
+ end
307
+
308
+ it "returns error message" do
309
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'chase', mfa: '666'})
310
+ expect(connection[:error][:message]).to eq("invalid mfa")
311
+ end
312
+ end
313
+
314
+ context 'correct mfa reply answer' do
315
+ it "returns 200 http code" do
316
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'us', mfa: 'tomato'})
317
+ expect(connection[:code]).to eq(200)
318
+ end
319
+ end
320
+
321
+ context 'wrong mfa reply answer' do
322
+ it "returns 402 http code" do
323
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'us', mfa: 'wrong'})
324
+ expect(connection[:code]).to eq(402)
325
+ end
326
+
327
+ it "returns error message" do
328
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'us', mfa: 'wrong'})
329
+ expect(connection[:error][:message]).to eq("invalid mfa")
330
+ end
331
+ end
332
+
333
+ context 'correct mfa reply selections' do
334
+ it "returns 200 http code" do
335
+ connection = Plaid::Connect.update_mfa_step({access_token: 'test', type: 'citi', credentials: {pin: 1234}})
336
+ expect(connection[:code]).to eq(200)
337
+ end
338
+ end
339
+ end
246
340
  end
data/zen-plaid.gemspec CHANGED
@@ -4,7 +4,7 @@ require 'zen-plaid/version'
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'zen-plaid'
6
6
  s.version = Plaid::VERSION
7
- s.date = '2014-10-22'
7
+ s.date = '2015-03-05'
8
8
  s.summary = 'Plaid Ruby Gem'
9
9
  s.description = 'Ruby Gem wrapper for Plaid API.'
10
10
  s.authors = ['Sean McCann']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zen-plaid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean McCann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-22 00:00:00.000000000 Z
11
+ date: 2015-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -85,7 +85,6 @@ files:
85
85
  - lib/zen-plaid/category.rb
86
86
  - lib/zen-plaid/configuration.rb
87
87
  - lib/zen-plaid/connect.rb
88
- - lib/zen-plaid/entity.rb
89
88
  - lib/zen-plaid/institution.rb
90
89
  - lib/zen-plaid/util.rb
91
90
  - lib/zen-plaid/version.rb
@@ -93,7 +92,6 @@ files:
93
92
  - spec/balance_spec.rb
94
93
  - spec/category_spec.rb
95
94
  - spec/connect_spec.rb
96
- - spec/entity_spec.rb
97
95
  - spec/institution_spec.rb
98
96
  - spec/spec_helper.rb
99
97
  - spec/util_spec.rb
@@ -118,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
116
  version: '0'
119
117
  requirements: []
120
118
  rubyforge_project:
121
- rubygems_version: 2.0.14
119
+ rubygems_version: 2.4.6
122
120
  signing_key:
123
121
  specification_version: 4
124
122
  summary: Plaid Ruby Gem
@@ -1,7 +0,0 @@
1
- module Plaid
2
- class Entity
3
- def self.find(id)
4
- Plaid.request(:get, 'entities/' + id )[:message]
5
- end
6
- end
7
- end
data/spec/entity_spec.rb DELETED
@@ -1,9 +0,0 @@
1
- require 'spec_helper.rb'
2
-
3
- describe Plaid::Entity do
4
- describe "#find" do
5
- it "finds " do
6
- expect(Plaid::Entity.find('526842af335228673f0000b7')[:name]).to eq('Starbucks')
7
- end
8
- end
9
- end