paychex_api 0.0.9 → 0.0.10
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 +5 -5
- data/Gemfile.lock +1 -1
- data/lib/paychex_api/client/companies.rb +12 -0
- data/lib/paychex_api/client/users.rb +5 -0
- data/lib/paychex_api/client/workers.rb +3 -2
- data/lib/paychex_api/version.rb +1 -1
- data/spec/fixtures/companies_associations.json +48 -0
- data/spec/paychex_api/client/companies_spec.rb +10 -0
- data/spec/paychex_api/client/users_spec.rb +6 -0
- data/spec/paychex_api/client/workers_spec.rb +1 -1
- data/spec/support/fake_paychex.rb +22 -3
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 420e55a9662715817b68cb45e13eb6daa52f915653b3d47b5e38997220e227cc
|
4
|
+
data.tar.gz: 50ca1ff1e7630e04407f36207f791fea82eabf733a24f838a5a6a9277564d9e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba20485999f91b3ce4f4e7df8ce5e642ec38e584af67cd4db5a101b817fd7498b65988bbe87ec4180945bedde432019cb5e5063b09ae3074a90f11ea3dfe7c94
|
7
|
+
data.tar.gz: 583bba223519cfd5b319fc50e8ed0469a7c8ae78d9f85195b7af7f09ec8709dc45adad6b79b67c9c58900e1f8fa2d32d7c80a1620183b94517a10099bea2d7f1
|
data/Gemfile.lock
CHANGED
@@ -10,6 +10,18 @@ module PaychexAPI
|
|
10
10
|
get("#{API_PATH}#{COMPANIES_PATH}/#{company_id}", params)
|
11
11
|
end
|
12
12
|
|
13
|
+
def get_company_associations_by_types(company_id, types, params = {})
|
14
|
+
connection.headers[:accept] = "application/json;profile='http://api.paychex.com/profiles/company_associations/v1'"
|
15
|
+
results = get("#{API_PATH}#{COMPANIES_PATH}/#{company_id}", params)
|
16
|
+
results.members.map! do |member|
|
17
|
+
member['associations'] = member['associations'].select do |association|
|
18
|
+
types.include?(association['associationType'])
|
19
|
+
end if member['associations'].present?
|
20
|
+
member
|
21
|
+
end
|
22
|
+
results
|
23
|
+
end
|
24
|
+
|
13
25
|
def get_company_workers(company_id, params = {})
|
14
26
|
connection.headers[:accept] = "application/json;profile='http://api.paychex.com/profiles/workers/nonpii/v1'"
|
15
27
|
get("#{API_PATH}#{COMPANIES_PATH}/#{company_id}/#{WORKERS_PATH}", params)
|
@@ -9,6 +9,11 @@ module PaychexAPI
|
|
9
9
|
def get_user(user_id, params = {})
|
10
10
|
get("#{API_PATH}#{USERS_PATH}/#{user_id}", params)
|
11
11
|
end
|
12
|
+
|
13
|
+
def get_user_workers(user_id, params = {})
|
14
|
+
connection.headers[:accept] = "application/json;profile='http://api.paychex.com/profiles/workers/v1'"
|
15
|
+
get("#{API_PATH}#{USERS_PATH}/#{user_id}#{WORKERS_PATH}", params)
|
16
|
+
end
|
12
17
|
end
|
13
18
|
end
|
14
19
|
end
|
@@ -6,6 +6,7 @@ module PaychexAPI
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def get_worker(worker_id, params = {})
|
9
|
+
connection.headers[:accept] = 'http://api.paychex.com/profiles/worker/nonpii_communications/v1'
|
9
10
|
get("#{API_PATH}#{WORKERS_PATH}/#{worker_id}", params)
|
10
11
|
end
|
11
12
|
|
@@ -30,8 +31,8 @@ module PaychexAPI
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def get_worker_user(worker_id, params = {})
|
33
|
-
connection.headers[:accept] = "application/json;profile='http://api.paychex.com/profiles/
|
34
|
-
get("#{API_PATH}#{WORKERS_PATH}/#{worker_id}", params)
|
34
|
+
connection.headers[:accept] = "application/json;profile='http://api.paychex.com/profiles/users/v1'"
|
35
|
+
get("#{API_PATH}#{WORKERS_PATH}/#{worker_id}/users", params)
|
35
36
|
end
|
36
37
|
end
|
37
38
|
end
|
data/lib/paychex_api/version.rb
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
{
|
2
|
+
"content": [
|
3
|
+
{
|
4
|
+
"companyId": "99Z5V9BTI8J2FCGESC05",
|
5
|
+
"displayId": "09643075",
|
6
|
+
"legalName": "API 10 CORE SMALL BHUMPHREY 05-14-2018 1878",
|
7
|
+
"legalId": {
|
8
|
+
"legalIdType": "FEIN",
|
9
|
+
"legalIdValue": "923248058"
|
10
|
+
},
|
11
|
+
"communications": [
|
12
|
+
{
|
13
|
+
"type": "STREET_ADDRESS",
|
14
|
+
"usageType": "BUSINESS",
|
15
|
+
"streetLineOne": "1232 SAFE RD",
|
16
|
+
"city": "ROCHESTER",
|
17
|
+
"postalCode": "14607",
|
18
|
+
"countrySubdivisionCode": "NY",
|
19
|
+
"countryCode": "US"
|
20
|
+
}
|
21
|
+
],
|
22
|
+
"associations": [
|
23
|
+
{
|
24
|
+
"associationId": "00H2A1IUJHNG0KX092KF",
|
25
|
+
"associationType": "LMS_ES_BPR",
|
26
|
+
"description": "LMS Association 1",
|
27
|
+
"siteId": "00H2A1IUJHNG0KX092KD",
|
28
|
+
"links": [
|
29
|
+
{
|
30
|
+
"rel": "self",
|
31
|
+
"href": "https://api.tn2.paychex.com/companies/?associationid=00H2A1IUJHNG0KX092KF"
|
32
|
+
}
|
33
|
+
]
|
34
|
+
}
|
35
|
+
],
|
36
|
+
"links": [
|
37
|
+
{
|
38
|
+
"rel": "self",
|
39
|
+
"href": "https://api.tn2.paychex.com/companies/00H2A1IUJH6JL09DIM8A"
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"rel": "workers",
|
43
|
+
"href": "https://api.tn2.paychex.com/companies/00H2A1IUJH6JL09DIM8A/workers"
|
44
|
+
}
|
45
|
+
]
|
46
|
+
}
|
47
|
+
]
|
48
|
+
}
|
@@ -30,4 +30,14 @@ describe PaychexAPI::Client::Companies do
|
|
30
30
|
response = @client.get_company_workers(1)
|
31
31
|
expect(response.first['workerId']).to(eq('00Z5V9BTIHRQF2CF7BTH'))
|
32
32
|
end
|
33
|
+
|
34
|
+
it 'should get company associations with association type' do
|
35
|
+
response = @client.get_company_associations_by_types(1, ['LMS_ES_BPR'])
|
36
|
+
expect(response.first['associations'].length).to(eq(1))
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should get company associations filtered to empty' do
|
40
|
+
response = @client.get_company_associations_by_types(1, ['BLAH'])
|
41
|
+
expect(response.first['associations'].length).to(eq(0))
|
42
|
+
end
|
33
43
|
end
|
@@ -17,4 +17,10 @@ describe PaychexAPI::Client::Users do
|
|
17
17
|
expect(response.size).to eq(1)
|
18
18
|
expect(response.first.key?('access')).to eq(true)
|
19
19
|
end
|
20
|
+
|
21
|
+
it 'should get users workers' do
|
22
|
+
response = @client.get_user_access(1)
|
23
|
+
expect(response.size).to eq(1)
|
24
|
+
expect(response.first.key?('access')).to eq(true)
|
25
|
+
end
|
20
26
|
end
|
@@ -38,6 +38,6 @@ describe PaychexAPI::Client::Workers do
|
|
38
38
|
|
39
39
|
it 'should get a workers user' do
|
40
40
|
response = @client.get_worker_user(1, something: 'something')
|
41
|
-
expect(response.first['
|
41
|
+
expect(response.first['userId']).to(eq('00H2A1IUJ0B589F001CW'))
|
42
42
|
end
|
43
43
|
end
|
@@ -21,6 +21,15 @@ class FakePaychex < Sinatra::Base
|
|
21
21
|
get_json_data 200, 'workers.json'
|
22
22
|
end
|
23
23
|
|
24
|
+
get %r{/workers/\d+/users$} do
|
25
|
+
case request.env['HTTP_ACCEPT']
|
26
|
+
when "application/json;profile='http://api.paychex.com/profiles/users/v1'"
|
27
|
+
get_json_data 200, 'users.json'
|
28
|
+
else
|
29
|
+
get_json_data 200, 'workers.json'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
24
33
|
get %r{/workers/\d+/communications$} do
|
25
34
|
get_json_data 200, 'communications.json'
|
26
35
|
end
|
@@ -42,15 +51,21 @@ class FakePaychex < Sinatra::Base
|
|
42
51
|
end
|
43
52
|
|
44
53
|
# companies
|
45
|
-
|
46
|
-
|
54
|
+
|
55
|
+
get %r{/companies/[A-Za-z0-9]+$} do
|
56
|
+
case request.env['HTTP_ACCEPT']
|
57
|
+
when "application/json;profile='http://api.paychex.com/profiles/company_associations/v1'"
|
58
|
+
get_json_data 200, 'companies_associations.json'
|
59
|
+
else
|
60
|
+
get_json_data 200, 'companies.json'
|
61
|
+
end
|
47
62
|
end
|
48
63
|
|
49
64
|
get %r{/companies$} do
|
50
65
|
get_json_data 200, 'companies.json'
|
51
66
|
end
|
52
67
|
|
53
|
-
get %r{/companies
|
68
|
+
get %r{/companies/[A-Za-z0-9]+/organizations+$} do
|
54
69
|
get_json_data 200, 'organizations.json'
|
55
70
|
end
|
56
71
|
|
@@ -70,6 +85,10 @@ class FakePaychex < Sinatra::Base
|
|
70
85
|
get_json_data 200, 'users.json'
|
71
86
|
end
|
72
87
|
|
88
|
+
get %r{/users/\S/workers+$} do
|
89
|
+
get_json_data 200, 'workers.json'
|
90
|
+
end
|
91
|
+
|
73
92
|
private
|
74
93
|
|
75
94
|
def get_json_data(response_code, file_name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paychex_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jay Shaffer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -248,6 +248,7 @@ files:
|
|
248
248
|
- spec/fixtures/auth.json
|
249
249
|
- spec/fixtures/communications.json
|
250
250
|
- spec/fixtures/companies.json
|
251
|
+
- spec/fixtures/companies_associations.json
|
251
252
|
- spec/fixtures/messages.json
|
252
253
|
- spec/fixtures/organizations.json
|
253
254
|
- spec/fixtures/users.json
|
@@ -283,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
284
|
version: '0'
|
284
285
|
requirements: []
|
285
286
|
rubyforge_project:
|
286
|
-
rubygems_version: 2.
|
287
|
+
rubygems_version: 2.7.3
|
287
288
|
signing_key:
|
288
289
|
specification_version: 4
|
289
290
|
summary: Paychex API
|
@@ -291,6 +292,7 @@ test_files:
|
|
291
292
|
- spec/fixtures/auth.json
|
292
293
|
- spec/fixtures/communications.json
|
293
294
|
- spec/fixtures/companies.json
|
295
|
+
- spec/fixtures/companies_associations.json
|
294
296
|
- spec/fixtures/messages.json
|
295
297
|
- spec/fixtures/organizations.json
|
296
298
|
- spec/fixtures/users.json
|
@@ -306,4 +308,3 @@ test_files:
|
|
306
308
|
- spec/paychex_api/paychex_api_spec.rb
|
307
309
|
- spec/support/fake_paychex.rb
|
308
310
|
- spec/test_helper.rb
|
309
|
-
has_rdoc:
|