finapps 6.9.0 → 6.10.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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yaml +1 -2
- data/.github/workflows/release.yml +1 -1
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/.travis.yml +1 -1
- data/finapps.gemspec +1 -1
- data/lib/finapps/rest/client.rb +3 -1
- data/lib/finapps/rest/locations.rb +17 -0
- data/lib/finapps/rest/operators.rb +1 -1
- data/lib/finapps/rest/states.rb +8 -0
- data/lib/finapps/version.rb +1 -1
- data/lib/finapps.rb +2 -0
- data/spec/rest/client_spec.rb +2 -1
- data/spec/rest/locations_spec.rb +113 -0
- data/spec/rest/states_spec.rb +14 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/spec_helpers/api_request.rb +12 -11
- data/spec/support/fake_api.rb +6 -1
- data/spec/support/fixtures/locations/get_location.json +8 -0
- data/spec/support/fixtures/locations/get_locations.json +26 -0
- data/spec/support/fixtures/states/get_states.json +287 -0
- data/spec/support/routes/locations.rb +58 -0
- data/spec/support/routes/states.rb +14 -0
- metadata +18 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 765aad4ece03d6e507cd77930fa24fb983911f4773c30adc09399695c62a6c0d
|
4
|
+
data.tar.gz: 7bd544c214f84ec23c64ddc45a732ad820d5faebda7a1c7591a6c46b145dded8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f7475687fc24f0f4480a0ad229e9ed8fdb9b6a6b4fb7b70117327187678006e3c1476294d2bb2753d2084051bc3350afa81ca892fa9b4d9e9def5e7793e1a40
|
7
|
+
data.tar.gz: 73f047dfbfb2d3e1df537a69145d88a373d80b27799b3a1bf659b9d84c9603fe8048db6e85fe16bb7b4d3b216ddc8272896bb30e95a0658b9467234c89eaa31b
|
data/.github/workflows/ci.yaml
CHANGED
@@ -16,11 +16,10 @@ jobs:
|
|
16
16
|
fail-fast: false
|
17
17
|
matrix:
|
18
18
|
os: [ubuntu-latest]
|
19
|
-
ruby: [2.6, 2.7, '3.0']
|
20
19
|
runs-on: ${{ matrix.os }}
|
21
20
|
steps:
|
22
21
|
- name: Checkout source code
|
23
|
-
uses: actions/checkout@
|
22
|
+
uses: actions/checkout@v3
|
24
23
|
|
25
24
|
- name: Install required ruby version
|
26
25
|
uses: ruby/setup-ruby@v1
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.7.
|
1
|
+
ruby-2.7.5
|
data/.travis.yml
CHANGED
data/finapps.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.test_files = Dir['spec/**/*.rb']
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_runtime_dependency 'finapps_core', '~> 6.0', '>= 6.0.
|
23
|
+
spec.add_runtime_dependency 'finapps_core', '~> 6.0', '>= 6.0.2'
|
24
24
|
|
25
25
|
spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.16'
|
26
26
|
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
|
data/lib/finapps/rest/client.rb
CHANGED
@@ -19,6 +19,7 @@ module FinApps
|
|
19
19
|
documents_uploads
|
20
20
|
esign_templates
|
21
21
|
orders
|
22
|
+
locations
|
22
23
|
order_assignments
|
23
24
|
order_notifications
|
24
25
|
order_refreshes
|
@@ -45,6 +46,7 @@ module FinApps
|
|
45
46
|
screening_metadatas
|
46
47
|
sessions
|
47
48
|
signed_documents_downloads
|
49
|
+
states
|
48
50
|
tenant_settings
|
49
51
|
tenant_app_settings
|
50
52
|
verix_metadata
|
@@ -68,7 +70,7 @@ module FinApps
|
|
68
70
|
|
69
71
|
QUERY_RESOURCES.each do |method|
|
70
72
|
define_method(method) do
|
71
|
-
class_name =
|
73
|
+
class_name = method.to_s.gsub(/query_/, '').capitalize
|
72
74
|
variable = "@#{method}"
|
73
75
|
|
74
76
|
method_definition(method, class_name, variable) do |_|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FinApps
|
4
|
+
module REST
|
5
|
+
class Locations < FinAppsCore::REST::Resources # :nodoc:
|
6
|
+
def list(filter = nil)
|
7
|
+
path = "#{end_point}?filter=#{filter}" unless filter.nil?
|
8
|
+
super path
|
9
|
+
end
|
10
|
+
|
11
|
+
def update(key, params = {})
|
12
|
+
path = resource_path(key)
|
13
|
+
send_request path, :put, params
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/finapps/version.rb
CHANGED
data/lib/finapps.rb
CHANGED
@@ -6,6 +6,7 @@ require 'faraday_middleware'
|
|
6
6
|
require 'finapps_core'
|
7
7
|
require 'finapps/rest/actors'
|
8
8
|
require 'finapps/rest/version'
|
9
|
+
require 'finapps/rest/locations'
|
9
10
|
require 'finapps/rest/consumers'
|
10
11
|
require 'finapps/rest/consumer_login_tokens'
|
11
12
|
require 'finapps/rest/sessions'
|
@@ -40,6 +41,7 @@ require 'finapps/rest/documents_upload_types'
|
|
40
41
|
require 'finapps/rest/signed_documents_downloads'
|
41
42
|
require 'finapps/rest/documents_orders_notifications'
|
42
43
|
require 'finapps/rest/screenings'
|
44
|
+
require 'finapps/rest/states'
|
43
45
|
require 'finapps/rest/screening_metadatas'
|
44
46
|
|
45
47
|
require 'finapps/rest/plaid/plaid_resources'
|
data/spec/rest/client_spec.rb
CHANGED
@@ -12,7 +12,8 @@ RSpec.describe FinApps::REST::Client do
|
|
12
12
|
context 'with an instance of Client' do
|
13
13
|
subject(:client) { described_class.new(:company_token) }
|
14
14
|
|
15
|
-
FinApps::REST::Client::RESOURCES
|
15
|
+
(FinApps::REST::Client::RESOURCES +
|
16
|
+
FinApps::REST::Client::QUERY_RESOURCES).each do |method|
|
16
17
|
it("responds to #{method}") { expect(client).to respond_to(method) }
|
17
18
|
|
18
19
|
it "memoizes the result of #{method}" do
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'digest'
|
4
|
+
|
5
|
+
RSpec.describe FinApps::REST::Locations do
|
6
|
+
include SpecHelpers::Client
|
7
|
+
|
8
|
+
describe '#list' do
|
9
|
+
subject(:list) { described_class.new(client).list filter }
|
10
|
+
|
11
|
+
let(:filter) { nil }
|
12
|
+
|
13
|
+
it_behaves_like 'an API request'
|
14
|
+
it_behaves_like 'a successful request'
|
15
|
+
it { expect(list[RESULTS]).to all(have_key(:name)) }
|
16
|
+
it { expect(list[RESULTS]).to all(have_key(:state)) }
|
17
|
+
|
18
|
+
context 'when the JMESPath filter is invalid' do
|
19
|
+
let(:filter) { 'invalid' }
|
20
|
+
|
21
|
+
it_behaves_like 'a failed request'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#create' do
|
26
|
+
subject(:create) { described_class.new(client).create(params) }
|
27
|
+
|
28
|
+
let(:params) { {name: 'Quick Mart Urgent Care', state: {code: 'MD'}} }
|
29
|
+
|
30
|
+
it_behaves_like 'an API request'
|
31
|
+
it_behaves_like 'a successful request'
|
32
|
+
it { expect(create[RESULTS]).to be_nil }
|
33
|
+
end
|
34
|
+
|
35
|
+
RSpec.shared_examples 'a request to a not found resource' do
|
36
|
+
it_behaves_like 'a failed request'
|
37
|
+
it('returns a 404 error') do
|
38
|
+
expect(subject[ERROR_MESSAGES].first)
|
39
|
+
.to(eq('the server responded with status 404'))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe '#show' do
|
44
|
+
subject(:show) { described_class.new(client).show(key) }
|
45
|
+
|
46
|
+
let(:key) { Digest::SHA256.hexdigest('Quick Mart Urgent CareMD,MD') }
|
47
|
+
|
48
|
+
it_behaves_like 'an API request'
|
49
|
+
it_behaves_like 'a successful request'
|
50
|
+
it { expect(show[RESULTS]).to have_key(:name) }
|
51
|
+
it { expect(show[RESULTS]).to have_key(:state) }
|
52
|
+
|
53
|
+
context 'when key is not a valid SHA256' do
|
54
|
+
let(:key) { 'invalid_SHA256' }
|
55
|
+
|
56
|
+
it_behaves_like 'a failed request'
|
57
|
+
end
|
58
|
+
|
59
|
+
context 'when key does not match any location' do
|
60
|
+
let(:key) { 'not_found' }
|
61
|
+
|
62
|
+
it_behaves_like 'a failed request'
|
63
|
+
it_behaves_like 'a request to a not found resource'
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe '#update' do
|
68
|
+
subject(:update) { described_class.new(client).update(key, params) }
|
69
|
+
|
70
|
+
let(:key) { Digest::SHA256.hexdigest('Quick Mart Urgent CareMD,MD') }
|
71
|
+
let(:params) { {name: 'Quick Mart Non-Urgent Care', state: {code: 'MD'}} }
|
72
|
+
|
73
|
+
it_behaves_like 'an API request'
|
74
|
+
it_behaves_like 'a successful request'
|
75
|
+
it { expect(update[RESULTS]).to be_nil }
|
76
|
+
|
77
|
+
context 'when key is not a valid SHA256' do
|
78
|
+
let(:key) { 'invalid_SHA256' }
|
79
|
+
|
80
|
+
it_behaves_like 'a failed request'
|
81
|
+
end
|
82
|
+
|
83
|
+
context 'when key does not match any location' do
|
84
|
+
let(:key) { 'not_found' }
|
85
|
+
|
86
|
+
it_behaves_like 'a failed request'
|
87
|
+
it_behaves_like 'a request to a not found resource'
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
describe '#destroy' do
|
92
|
+
subject(:destroy) { described_class.new(client).destroy(key) }
|
93
|
+
|
94
|
+
let(:key) { Digest::SHA256.hexdigest('Quick Mart Urgent CareMD,MD') }
|
95
|
+
|
96
|
+
it_behaves_like 'an API request'
|
97
|
+
it_behaves_like 'a successful request'
|
98
|
+
it { expect(destroy[RESULTS]).to be_nil }
|
99
|
+
|
100
|
+
context 'when key is not a valid SHA256' do
|
101
|
+
let(:key) { 'invalid_SHA256' }
|
102
|
+
|
103
|
+
it_behaves_like 'a failed request'
|
104
|
+
end
|
105
|
+
|
106
|
+
context 'when key does not match any location' do
|
107
|
+
let(:key) { 'not_found' }
|
108
|
+
|
109
|
+
it_behaves_like 'a failed request'
|
110
|
+
it_behaves_like 'a request to a not found resource'
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe FinApps::REST::States do
|
4
|
+
include SpecHelpers::Client
|
5
|
+
|
6
|
+
describe '#list' do
|
7
|
+
subject(:list) { described_class.new(client).list }
|
8
|
+
|
9
|
+
it_behaves_like 'an API request'
|
10
|
+
it_behaves_like 'a successful request'
|
11
|
+
|
12
|
+
it('returns a list') { expect(list[RESULTS]).to be_a(Array) }
|
13
|
+
end
|
14
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -24,6 +24,8 @@ require 'webmock/rspec'
|
|
24
24
|
|
25
25
|
# noinspection RubyResolve
|
26
26
|
require File.join(File.dirname(__dir__), 'spec/support/fake_api')
|
27
|
+
require File.join(File.dirname(__dir__), 'spec/spec_helpers/client')
|
28
|
+
require File.join(File.dirname(__dir__), 'spec/spec_helpers/api_request')
|
27
29
|
|
28
30
|
RSpec.configure do |config|
|
29
31
|
config.expect_with(:rspec) do |expectations|
|
@@ -1,29 +1,30 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RSpec.shared_examples 'an API request' do
|
3
|
+
RSpec.shared_examples 'an API request' do
|
4
4
|
it { expect { subject }.not_to raise_error }
|
5
|
-
|
6
5
|
it('returns an array') { expect(subject).to be_a(Array) }
|
7
6
|
end
|
8
7
|
|
9
|
-
RSpec.shared_examples 'a successful request' do
|
8
|
+
RSpec.shared_examples 'a successful request' do
|
10
9
|
it('returns no error messages') do
|
11
10
|
expect(subject[ERROR_MESSAGES]).to be_empty
|
12
11
|
end
|
13
12
|
end
|
14
13
|
|
15
|
-
RSpec.shared_examples 'a request
|
16
|
-
it
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
14
|
+
RSpec.shared_examples 'a failed request' do
|
15
|
+
it { expect(subject[RESULTS]).to be_nil }
|
16
|
+
it { expect(subject[ERROR_MESSAGES]).not_to be_empty }
|
17
|
+
end
|
18
|
+
|
19
|
+
RSpec.shared_examples 'a request that raises an error' do |err|
|
20
|
+
err = FinAppsCore::MissingArgumentsError if err.nil?
|
21
|
+
it { expect { subject }.to raise_error(err) }
|
21
22
|
end
|
22
23
|
|
23
24
|
RSpec.shared_examples 'a GET index request' do
|
24
|
-
it { expect(
|
25
|
+
it { expect(subject[RESULTS]).to have_key(:records) }
|
25
26
|
|
26
27
|
it('returns an array of records') do
|
27
|
-
expect(
|
28
|
+
expect(subject[RESULTS][:records]).to be_a(Array)
|
28
29
|
end
|
29
30
|
end
|
data/spec/support/fake_api.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'sinatra/base'
|
4
|
+
|
4
5
|
require_relative 'documents_uploads_routes'
|
5
6
|
require_relative 'screenings_routes'
|
6
7
|
require_relative 'routes/actors'
|
8
|
+
require_relative 'routes/locations'
|
7
9
|
require_relative 'routes/screening_metadatas'
|
8
10
|
require_relative 'routes/query_screenings'
|
11
|
+
require_relative 'routes/states'
|
9
12
|
|
10
13
|
module Fake
|
11
14
|
# the FakeApi class is used to mock API requests while testing.
|
@@ -23,9 +26,11 @@ module Fake
|
|
23
26
|
|
24
27
|
include ActorsRoutes
|
25
28
|
include DocumentsUploadsRoutes
|
29
|
+
include LocationsRoutes
|
30
|
+
include QueryScreeningRoutes
|
26
31
|
include ScreeningsRoutes
|
27
32
|
include ScreeningMetadatasRoutes
|
28
|
-
include
|
33
|
+
include StateRoutes
|
29
34
|
|
30
35
|
# verix_metadata
|
31
36
|
get("/#{version}/v/metadata") do
|
@@ -0,0 +1,26 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"name": "Quick Mart Urgent Care",
|
4
|
+
"state": {
|
5
|
+
"code": "MD",
|
6
|
+
"label": "Maryland",
|
7
|
+
"type": "state"
|
8
|
+
}
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"name": "Quick Mart Emergency Room",
|
12
|
+
"state": {
|
13
|
+
"code": "MD",
|
14
|
+
"label": "Maryland",
|
15
|
+
"type": "state"
|
16
|
+
}
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"name": "Quick Mart - Folsom Business Office",
|
20
|
+
"state": {
|
21
|
+
"code": "CA",
|
22
|
+
"label": "California",
|
23
|
+
"type": "state"
|
24
|
+
}
|
25
|
+
}
|
26
|
+
]
|
@@ -0,0 +1,287 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"code": "AL",
|
4
|
+
"label": "Alabama",
|
5
|
+
"type": "state"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"code": "AK",
|
9
|
+
"label": "Alaska",
|
10
|
+
"type": "state"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"code": "AZ",
|
14
|
+
"label": "Arizona",
|
15
|
+
"type": "state"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"code": "AR",
|
19
|
+
"label": "Arkansas",
|
20
|
+
"type": "state"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"code": "CA",
|
24
|
+
"label": "California",
|
25
|
+
"type": "state"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"code": "CO",
|
29
|
+
"label": "Colorado",
|
30
|
+
"type": "state"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"code": "CT",
|
34
|
+
"label": "Connecticut",
|
35
|
+
"type": "state"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"code": "DE",
|
39
|
+
"label": "Delaware",
|
40
|
+
"type": "state"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"code": "FL",
|
44
|
+
"label": "Florida",
|
45
|
+
"type": "state"
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"code": "GA",
|
49
|
+
"label": "Georgia",
|
50
|
+
"type": "state"
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"code": "HI",
|
54
|
+
"label": "Hawaii",
|
55
|
+
"type": "state"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"code": "ID",
|
59
|
+
"label": "Idaho",
|
60
|
+
"type": "state"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"code": "IL",
|
64
|
+
"label": "Illinois",
|
65
|
+
"type": "state"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"code": "IN",
|
69
|
+
"label": "Indiana",
|
70
|
+
"type": "state"
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"code": "IA",
|
74
|
+
"label": "Iowa",
|
75
|
+
"type": "state"
|
76
|
+
},
|
77
|
+
{
|
78
|
+
"code": "KS",
|
79
|
+
"label": "Kansas",
|
80
|
+
"type": "state"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"code": "KY",
|
84
|
+
"label": "Kentucky",
|
85
|
+
"type": "state"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"code": "LA",
|
89
|
+
"label": "Louisiana",
|
90
|
+
"type": "state"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"code": "ME",
|
94
|
+
"label": "Maine",
|
95
|
+
"type": "state"
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"code": "MD",
|
99
|
+
"label": "Maryland",
|
100
|
+
"type": "state"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"code": "MA",
|
104
|
+
"label": "Massachusetts",
|
105
|
+
"type": "state"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"code": "MI",
|
109
|
+
"label": "Michigan",
|
110
|
+
"type": "state"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"code": "MN",
|
114
|
+
"label": "Minnesota",
|
115
|
+
"type": "state"
|
116
|
+
},
|
117
|
+
{
|
118
|
+
"code": "MS",
|
119
|
+
"label": "Mississippi",
|
120
|
+
"type": "state"
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"code": "MO",
|
124
|
+
"label": "Missouri",
|
125
|
+
"type": "state"
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"code": "MT",
|
129
|
+
"label": "Montana",
|
130
|
+
"type": "state"
|
131
|
+
},
|
132
|
+
{
|
133
|
+
"code": "NE",
|
134
|
+
"label": "Nebraska",
|
135
|
+
"type": "state"
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"code": "NV",
|
139
|
+
"label": "Nevada",
|
140
|
+
"type": "state"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"code": "NH",
|
144
|
+
"label": "New Hampshire",
|
145
|
+
"type": "state"
|
146
|
+
},
|
147
|
+
{
|
148
|
+
"code": "NJ",
|
149
|
+
"label": "New Jersey",
|
150
|
+
"type": "state"
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"code": "NM",
|
154
|
+
"label": "New Mexico",
|
155
|
+
"type": "state"
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"code": "NY",
|
159
|
+
"label": "New York",
|
160
|
+
"type": "state"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"code": "NC",
|
164
|
+
"label": "North Carolina",
|
165
|
+
"type": "state"
|
166
|
+
},
|
167
|
+
{
|
168
|
+
"code": "ND",
|
169
|
+
"label": "North Dakota",
|
170
|
+
"type": "state"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"code": "OH",
|
174
|
+
"label": "Ohio",
|
175
|
+
"type": "state"
|
176
|
+
},
|
177
|
+
{
|
178
|
+
"code": "OK",
|
179
|
+
"label": "Oklahoma",
|
180
|
+
"type": "state"
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"code": "OR",
|
184
|
+
"label": "Oregon",
|
185
|
+
"type": "state"
|
186
|
+
},
|
187
|
+
{
|
188
|
+
"code": "PA",
|
189
|
+
"label": "Pennsylvania",
|
190
|
+
"type": "state"
|
191
|
+
},
|
192
|
+
{
|
193
|
+
"code": "RI",
|
194
|
+
"label": "Rhode Island",
|
195
|
+
"type": "state"
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"code": "SC",
|
199
|
+
"label": "South Carolina",
|
200
|
+
"type": "state"
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"code": "SD",
|
204
|
+
"label": "South Dakota",
|
205
|
+
"type": "state"
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"code": "TN",
|
209
|
+
"label": "Tennessee",
|
210
|
+
"type": "state"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"code": "TX",
|
214
|
+
"label": "Texas",
|
215
|
+
"type": "state"
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"code": "UT",
|
219
|
+
"label": "Utah",
|
220
|
+
"type": "state"
|
221
|
+
},
|
222
|
+
{
|
223
|
+
"code": "VT",
|
224
|
+
"label": "Vermont",
|
225
|
+
"type": "state"
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"code": "VA",
|
229
|
+
"label": "Virginia",
|
230
|
+
"type": "state"
|
231
|
+
},
|
232
|
+
{
|
233
|
+
"code": "WA",
|
234
|
+
"label": "Washington",
|
235
|
+
"type": "state"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"code": "WV",
|
239
|
+
"label": "West Virginia",
|
240
|
+
"type": "state"
|
241
|
+
},
|
242
|
+
{
|
243
|
+
"code": "WI",
|
244
|
+
"label": "Wisconsin",
|
245
|
+
"type": "state"
|
246
|
+
},
|
247
|
+
{
|
248
|
+
"code": "WY",
|
249
|
+
"label": "Wyoming",
|
250
|
+
"type": "state"
|
251
|
+
},
|
252
|
+
{
|
253
|
+
"code": "DC",
|
254
|
+
"label": "District of Columbia",
|
255
|
+
"type": "state"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
"code": "AS",
|
259
|
+
"label": "American Samoa",
|
260
|
+
"type": "territory"
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"code": "GU",
|
264
|
+
"label": "Guam",
|
265
|
+
"type": "territory"
|
266
|
+
},
|
267
|
+
{
|
268
|
+
"code": "MP",
|
269
|
+
"label": "Northern Mariana Islands",
|
270
|
+
"type": "territory"
|
271
|
+
},
|
272
|
+
{
|
273
|
+
"code": "PR",
|
274
|
+
"label": "Puerto Rico",
|
275
|
+
"type": "territory"
|
276
|
+
},
|
277
|
+
{
|
278
|
+
"code": "UM",
|
279
|
+
"label": "United states Minor Outlying Islands",
|
280
|
+
"type": "territory"
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"code": "VI",
|
284
|
+
"label": "U.S. Virgin Islands",
|
285
|
+
"type": "territory"
|
286
|
+
}
|
287
|
+
]
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Fake
|
4
|
+
module LocationsRoutes
|
5
|
+
class << self
|
6
|
+
def included(base)
|
7
|
+
get_routes base
|
8
|
+
post_routes base
|
9
|
+
put_routes base
|
10
|
+
delete_routes base
|
11
|
+
|
12
|
+
super
|
13
|
+
end
|
14
|
+
|
15
|
+
def post_routes(base)
|
16
|
+
base.post("/#{base.version}/locations") do
|
17
|
+
status 204
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def delete_routes(base)
|
22
|
+
base.delete("/#{base.version}/locations/:key") do
|
23
|
+
return status(404) if params[:key] == 'not_found'
|
24
|
+
return status(400) unless sha256?(params[:key])
|
25
|
+
|
26
|
+
status 204
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def put_routes(base)
|
31
|
+
base.put("/#{base.version}/locations/:key") do
|
32
|
+
return status(404) if params[:key] == 'not_found'
|
33
|
+
return status(400) unless sha256?(params[:key])
|
34
|
+
|
35
|
+
status 204
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_routes(base)
|
40
|
+
base.get("/#{base.version}/locations") do
|
41
|
+
return status(400) if params[:filter] == 'invalid'
|
42
|
+
|
43
|
+
json_response 200, 'locations/get_locations.json'
|
44
|
+
end
|
45
|
+
base.get("/#{base.version}/locations/:key") do
|
46
|
+
return status(404) if params[:key] == 'not_found'
|
47
|
+
return status(400) unless sha256?(params[:key])
|
48
|
+
|
49
|
+
json_response 200, 'locations/get_location.json'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def sha256?(key)
|
55
|
+
key.length == 64 && key.match(/^[0-9a-f]+$/)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finapps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: finapps_core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '6.0'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 6.0.
|
22
|
+
version: 6.0.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '6.0'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 6.0.
|
32
|
+
version: 6.0.2
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -270,6 +270,7 @@ files:
|
|
270
270
|
- lib/finapps/rest/documents_upload_types.rb
|
271
271
|
- lib/finapps/rest/documents_uploads.rb
|
272
272
|
- lib/finapps/rest/esign_templates.rb
|
273
|
+
- lib/finapps/rest/locations.rb
|
273
274
|
- lib/finapps/rest/operator_change_password_email.rb
|
274
275
|
- lib/finapps/rest/operator_login_tokens.rb
|
275
276
|
- lib/finapps/rest/operators.rb
|
@@ -300,6 +301,7 @@ files:
|
|
300
301
|
- lib/finapps/rest/screenings.rb
|
301
302
|
- lib/finapps/rest/sessions.rb
|
302
303
|
- lib/finapps/rest/signed_documents_downloads.rb
|
304
|
+
- lib/finapps/rest/states.rb
|
303
305
|
- lib/finapps/rest/tenant_app_settings.rb
|
304
306
|
- lib/finapps/rest/tenant_settings.rb
|
305
307
|
- lib/finapps/rest/verix/verix_documents.rb
|
@@ -321,6 +323,7 @@ files:
|
|
321
323
|
- spec/rest/documents_upload_types_spec.rb
|
322
324
|
- spec/rest/documents_uploads_spec.rb
|
323
325
|
- spec/rest/esign_templates_spec.rb
|
326
|
+
- spec/rest/locations_spec.rb
|
324
327
|
- spec/rest/operator_change_password_email_spec.rb
|
325
328
|
- spec/rest/operators_login_tokens_spec.rb
|
326
329
|
- spec/rest/operators_password_resets_spec.rb
|
@@ -350,6 +353,7 @@ files:
|
|
350
353
|
- spec/rest/screenings_spec.rb
|
351
354
|
- spec/rest/sessions_spec.rb
|
352
355
|
- spec/rest/signed_documents_downloads_spec.rb
|
356
|
+
- spec/rest/states_spec.rb
|
353
357
|
- spec/rest/tenant_app_settings_spec.rb
|
354
358
|
- spec/rest/tenant_settings_spec.rb
|
355
359
|
- spec/rest/verix/verix_documents_spec.rb
|
@@ -379,6 +383,8 @@ files:
|
|
379
383
|
- spec/support/fixtures/invalid_tenant_credentials.json
|
380
384
|
- spec/support/fixtures/invalid_user_id.json
|
381
385
|
- spec/support/fixtures/invalid_user_institution_id.json
|
386
|
+
- spec/support/fixtures/locations/get_location.json
|
387
|
+
- spec/support/fixtures/locations/get_locations.json
|
382
388
|
- spec/support/fixtures/mfa_timeout.json
|
383
389
|
- spec/support/fixtures/multiple_consumer_subscribe_error.json
|
384
390
|
- spec/support/fixtures/operator.json
|
@@ -426,6 +432,7 @@ files:
|
|
426
432
|
- spec/support/fixtures/sign_url.json
|
427
433
|
- spec/support/fixtures/signed_document.pdf
|
428
434
|
- spec/support/fixtures/single_consumer_subscribe_error.json
|
435
|
+
- spec/support/fixtures/states/get_states.json
|
429
436
|
- spec/support/fixtures/tenant_app_settings.json
|
430
437
|
- spec/support/fixtures/tenant_settings.json
|
431
438
|
- spec/support/fixtures/unauthorized.json
|
@@ -439,8 +446,10 @@ files:
|
|
439
446
|
- spec/support/fixtures/verix/record/create.json
|
440
447
|
- spec/support/fixtures/verix/record/list.json
|
441
448
|
- spec/support/routes/actors.rb
|
449
|
+
- spec/support/routes/locations.rb
|
442
450
|
- spec/support/routes/query_screenings.rb
|
443
451
|
- spec/support/routes/screening_metadatas.rb
|
452
|
+
- spec/support/routes/states.rb
|
444
453
|
- spec/support/screenings_routes.rb
|
445
454
|
- spec/utils/query_builder_spec.rb
|
446
455
|
- tags
|
@@ -469,7 +478,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
469
478
|
- !ruby/object:Gem::Version
|
470
479
|
version: '0'
|
471
480
|
requirements: []
|
472
|
-
rubygems_version: 3.1.
|
481
|
+
rubygems_version: 3.1.6
|
473
482
|
signing_key:
|
474
483
|
specification_version: 4
|
475
484
|
summary: FinApps REST API ruby client.
|
@@ -477,7 +486,9 @@ test_files:
|
|
477
486
|
- spec/utils/query_builder_spec.rb
|
478
487
|
- spec/support/fake_api.rb
|
479
488
|
- spec/support/documents_uploads_routes.rb
|
489
|
+
- spec/support/routes/locations.rb
|
480
490
|
- spec/support/routes/query_screenings.rb
|
491
|
+
- spec/support/routes/states.rb
|
481
492
|
- spec/support/routes/actors.rb
|
482
493
|
- spec/support/routes/screening_metadatas.rb
|
483
494
|
- spec/support/screenings_routes.rb
|
@@ -490,6 +501,7 @@ test_files:
|
|
490
501
|
- spec/rest/verix/verix_documents_spec.rb
|
491
502
|
- spec/rest/verix/verix_pdf_documents_spec.rb
|
492
503
|
- spec/rest/verix/verix_metadata_spec.rb
|
504
|
+
- spec/rest/states_spec.rb
|
493
505
|
- spec/rest/consumers_portfolios_spec.rb
|
494
506
|
- spec/rest/signed_documents_downloads_spec.rb
|
495
507
|
- spec/rest/portfolio_reports_spec.rb
|
@@ -508,6 +520,7 @@ test_files:
|
|
508
520
|
- spec/rest/plaid/plaid_institution_logos_spec.rb
|
509
521
|
- spec/rest/plaid/plaid_consumer_institutions_spec.rb
|
510
522
|
- spec/rest/tenant_app_settings_spec.rb
|
523
|
+
- spec/rest/locations_spec.rb
|
511
524
|
- spec/rest/consumers_spec.rb
|
512
525
|
- spec/rest/order_tokens_spec.rb
|
513
526
|
- spec/rest/alert_definitions_spec.rb
|