stackone_migration 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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +4 -4
- data/README.md +1 -1
- data/lib/stackone_migration/api/account_token_api.rb +2 -2
- data/lib/stackone_migration/api/delete_account_api.rb +16 -0
- data/lib/stackone_migration/api/employees_api.rb +3 -3
- data/lib/stackone_migration/api/link_token_api.rb +3 -3
- data/lib/stackone_migration/mappers/employees_mapper.rb +10 -1
- data/lib/stackone_migration/version.rb +1 -1
- data/lib/stackone_migration.rb +1 -0
- data/spec/api/account_token_api_spec.rb +6 -6
- data/spec/api/delete_account_api_spec.rb +41 -0
- data/spec/api/employees_api_spec.rb +6 -6
- data/spec/api/link_token_api_spec.rb +10 -10
- data/spec/mappers/employees_mapper_spec.rb +105 -9
- data/stackone_migration.gemspec +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 732857caccb3fcb827c3bb6b8c511432fe97d18c4b514ec2d097aa7e44f9aa7d
|
4
|
+
data.tar.gz: 983207ba28ea205a5ebe029b1c26885230c6f032c30827011bd031d04bc44002
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab28e35418e92cf8385382d289b80eb94f5292e0060dc50e2f1b31d82991b61c78b23c234886914e6733d1c648f5ba4b1bc80a8c08fa2b65a57ff3b65598e68a
|
7
|
+
data.tar.gz: 2915504869e7b58a8df5d6eab55f85445f34327536de752e8ff4fc1cb93aea9489bcc35366d1feb8f135398fb33f63d711d22f8fc1948ef09b899cae9e10893d
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stackone_migration (1.
|
4
|
+
stackone_migration (1.1.0)
|
5
5
|
merge_hris_client (~> 3.0)
|
6
|
-
stackone_hris_client (~> 1.1)
|
6
|
+
stackone_hris_client (~> 1.2.1)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
@@ -58,7 +58,7 @@ GEM
|
|
58
58
|
rubocop-ast (1.27.0)
|
59
59
|
parser (>= 3.2.1.0)
|
60
60
|
ruby-progressbar (1.13.0)
|
61
|
-
stackone_hris_client (1.
|
61
|
+
stackone_hris_client (1.2.0)
|
62
62
|
typhoeus (~> 1.0, >= 1.0.1)
|
63
63
|
typhoeus (1.4.0)
|
64
64
|
ethon (>= 0.9.0)
|
@@ -73,7 +73,7 @@ DEPENDENCIES
|
|
73
73
|
rake (~> 13.0.1)
|
74
74
|
rspec (~> 3.6, >= 3.6.0)
|
75
75
|
rubocop (~> 1.48.0)
|
76
|
-
stackone_hris_client (~> 1.1)
|
76
|
+
stackone_hris_client (~> 1.2.1)
|
77
77
|
stackone_migration!
|
78
78
|
|
79
79
|
BUNDLED WITH
|
data/README.md
CHANGED
@@ -7,12 +7,12 @@ module MergeHRISClient
|
|
7
7
|
def account_token_retrieve(public_token, opts = {})
|
8
8
|
return original_account_token_retrieve(public_token, opts) unless StackOneMigration::AccountHelper.stackone_account?(public_token)
|
9
9
|
|
10
|
-
account_data =
|
10
|
+
account_data = StackOneHRIS::AccountsApi.new.accounts_get(public_token)
|
11
11
|
|
12
12
|
integration_data = MergeHRISClient::AccountIntegration.new(slug: account_data.provider)
|
13
13
|
MergeHRISClient::AccountToken.new(account_token: public_token, integration: integration_data)
|
14
14
|
|
15
|
-
rescue
|
15
|
+
rescue StackOneHRIS::ApiError
|
16
16
|
raise MergeHRISClient::ApiError
|
17
17
|
end
|
18
18
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
3
|
+
module MergeHRISClient
|
4
|
+
class DeleteAccountApi
|
5
|
+
alias_method :original_delete_account_create, :delete_account_create
|
6
|
+
|
7
|
+
def delete_account_create(x_account_id, opts = {})
|
8
|
+
return original_delete_account_create(x_account_id, opts) unless StackOneMigration::AccountHelper.stackone_account?(x_account_id)
|
9
|
+
|
10
|
+
StackOneHRIS::AccountsApi.new.accounts_delete(x_account_id)
|
11
|
+
nil
|
12
|
+
rescue StackOneHRIS::ApiError
|
13
|
+
raise MergeHRISClient::ApiError
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -11,16 +11,16 @@ module MergeHRISClient
|
|
11
11
|
|
12
12
|
if opts.key?(:remote_id)
|
13
13
|
stripped_opts = opts.reject { |k, _| k == :remote_id }
|
14
|
-
response =
|
14
|
+
response = StackOneHRIS::EmployeesApi.new.employees_get(opts[:remote_id], x_account_id,
|
15
15
|
stripped_opts)
|
16
16
|
|
17
17
|
StackOneMigration::EmployeesMapper.map_single_employee_to_list_model(response&.data)
|
18
18
|
else
|
19
|
-
response =
|
19
|
+
response = StackOneHRIS::EmployeesApi.new.employees_list(x_account_id, opts)
|
20
20
|
|
21
21
|
StackOneMigration::EmployeesMapper.map_to_paginated_employee_list_model(response)
|
22
22
|
end
|
23
|
-
rescue
|
23
|
+
rescue StackOneHRIS::ApiError
|
24
24
|
raise MergeHRISClient::ApiError
|
25
25
|
end
|
26
26
|
end
|
@@ -7,17 +7,17 @@ module MergeHRISClient
|
|
7
7
|
def link_token_create(end_user_details_request, opts = {})
|
8
8
|
return original_link_token_create(end_user_details_request, opts) if opts.key?(:use_merge) && opts[:use_merge]
|
9
9
|
|
10
|
-
connect_session_create_request =
|
10
|
+
connect_session_create_request = StackOneHRIS::ConnectSessionCreate.new(
|
11
11
|
:origin_owner_id => end_user_details_request.end_user_origin_id,
|
12
12
|
:origin_owner_name => end_user_details_request.end_user_email_address,
|
13
13
|
:provider => end_user_details_request.integration,
|
14
14
|
:categories => end_user_details_request.categories,
|
15
15
|
)
|
16
16
|
|
17
|
-
created_session =
|
17
|
+
created_session = StackOneHRIS::ConnectSessionsApi.new.connect_sessions_create(connect_session_create_request)
|
18
18
|
MergeHRISClient::LinkToken.new(:link_token => created_session.token, :integration_name => end_user_details_request.integration)
|
19
19
|
|
20
|
-
rescue
|
20
|
+
rescue StackOneHRIS::ApiError
|
21
21
|
raise MergeHRISClient::ApiError
|
22
22
|
end
|
23
23
|
end
|
@@ -14,9 +14,18 @@ module StackOneMigration
|
|
14
14
|
:work_email => employee.work_email,
|
15
15
|
:mobile_phone_number => employee.personal_phone_number,
|
16
16
|
:gender => employee.gender,
|
17
|
-
:date_of_birth => employee.
|
17
|
+
:date_of_birth => employee.date_of_birth,
|
18
18
|
:start_date => employee.start_date,
|
19
19
|
:manager => employee.manager_id,
|
20
|
+
:ethnicity => employee.ethnicity,
|
21
|
+
:marital_status => employee.marital_status,
|
22
|
+
:hire_date => employee.hire_date,
|
23
|
+
:employment_status => employee.employment_status,
|
24
|
+
:termination_date => employee.termination_date,
|
25
|
+
:company => employee.company,
|
26
|
+
:home_location => employee.home_location,
|
27
|
+
:work_location => employee.work_location,
|
28
|
+
:employments => employee.employments,
|
20
29
|
)
|
21
30
|
end
|
22
31
|
|
data/lib/stackone_migration.rb
CHANGED
@@ -9,6 +9,7 @@ require 'stackone_migration/version'
|
|
9
9
|
# APIs
|
10
10
|
require 'stackone_migration/api/employees_api'
|
11
11
|
require 'stackone_migration/api/account_token_api'
|
12
|
+
require 'stackone_migration/api/delete_account_api'
|
12
13
|
require 'stackone_migration/api/link_token_api'
|
13
14
|
|
14
15
|
# Mappers
|
@@ -8,9 +8,9 @@ describe MergeHRISClient::AccountTokenApi do
|
|
8
8
|
context '.account_token_retrieve' do
|
9
9
|
context 'when the public token is an account id from StackOne' do
|
10
10
|
it 'returns a merge account token object' do
|
11
|
-
account_data =
|
12
|
-
stackone_account_api_double = double('
|
13
|
-
allow(
|
11
|
+
account_data = StackOneHRIS::Account.new(:id => '12345', :provider => 'stackone_hris_provider')
|
12
|
+
stackone_account_api_double = double('StackOneHRIS::AccountsApi', :accounts_get => account_data)
|
13
|
+
allow(StackOneHRIS::AccountsApi).to receive(:new).and_return(stackone_account_api_double)
|
14
14
|
|
15
15
|
result = subject.account_token_retrieve('12345')
|
16
16
|
|
@@ -18,9 +18,9 @@ describe MergeHRISClient::AccountTokenApi do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'returns an account token object with the right attributes' do
|
21
|
-
account_data =
|
22
|
-
stackone_account_api_double = double('
|
23
|
-
allow(
|
21
|
+
account_data = StackOneHRIS::Account.new(:id => '12345', :provider => 'stackone_hris_provider')
|
22
|
+
stackone_account_api_double = double('StackOneHRIS::AccountsApi', :accounts_get => account_data)
|
23
|
+
allow(StackOneHRIS::AccountsApi).to receive(:new).and_return(stackone_account_api_double)
|
24
24
|
|
25
25
|
result = subject.account_token_retrieve('12345')
|
26
26
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe MergeHRISClient::DeleteAccountApi do
|
6
|
+
subject { MergeHRISClient::DeleteAccountApi.new }
|
7
|
+
|
8
|
+
context '.delete_account_create' do
|
9
|
+
context 'when the account identifier is an account id from StackOne' do
|
10
|
+
it 'returns nil' do
|
11
|
+
stackone_account_api_double = double('StackOneHRIS::AccountsApi', :accounts_delete => nil)
|
12
|
+
allow(StackOneHRIS::AccountsApi).to receive(:new).and_return(stackone_account_api_double)
|
13
|
+
|
14
|
+
result = subject.delete_account_create('12345')
|
15
|
+
|
16
|
+
expect(result).to be_nil
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'calls the method from the StackOne API to delete the account' do
|
20
|
+
stackone_account_api_double = double('StackOneHRIS::AccountsApi', :accounts_delete => nil)
|
21
|
+
allow(StackOneHRIS::AccountsApi).to receive(:new).and_return(stackone_account_api_double)
|
22
|
+
|
23
|
+
expect(stackone_account_api_double).to receive(:accounts_delete).with('12345')
|
24
|
+
|
25
|
+
result = subject.delete_account_create('12345')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when the account identifier is from Merge' do
|
31
|
+
it 'calls the method from the Merge API to delete the account' do
|
32
|
+
merge_delete_account_api_double = double('MergeHRISClient::DeleteAccountApi')
|
33
|
+
allow(MergeHRISClient::DeleteAccountApi).to receive(:new).and_return(merge_delete_account_api_double)
|
34
|
+
options = { :custom => 'option_value' }
|
35
|
+
|
36
|
+
expect(merge_delete_account_api_double).to receive(:delete_account_create).with('123abc', options)
|
37
|
+
|
38
|
+
subject.delete_account_create('123abc', options)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -8,9 +8,9 @@ describe MergeHRISClient::EmployeesApi do
|
|
8
8
|
context '.employees_list' do
|
9
9
|
context 'when the account id is from StackOne' do
|
10
10
|
it 'calls the method from the StackOne client to list employees' do
|
11
|
-
paginated_employees_double = double('
|
12
|
-
stackone_employees_api_double = double('
|
13
|
-
allow(
|
11
|
+
paginated_employees_double = double('StackOneHRIS::PaginatedEmployeeList', :data => nil, :next_page => nil)
|
12
|
+
stackone_employees_api_double = double('StackOneHRIS::EmployeesApi', :employees_list => paginated_employees_double)
|
13
|
+
allow(StackOneHRIS::EmployeesApi).to receive(:new).and_return(stackone_employees_api_double)
|
14
14
|
options = { :expand => 'employments,home_location' }
|
15
15
|
|
16
16
|
expect(stackone_employees_api_double).to receive(:employees_list).with('123', options)
|
@@ -20,9 +20,9 @@ describe MergeHRISClient::EmployeesApi do
|
|
20
20
|
|
21
21
|
context 'and the remote id param is in the options' do
|
22
22
|
it 'calls the method from the StackOne client to get an employee with remote id parameter' do
|
23
|
-
paginated_employees_double = double('
|
24
|
-
stackone_employees_api_double = double('
|
25
|
-
allow(
|
23
|
+
paginated_employees_double = double('StackOneHRIS::PaginatedEmployeeList', :data => nil)
|
24
|
+
stackone_employees_api_double = double('StackOneHRIS::EmployeesApi', :employees_get => paginated_employees_double)
|
25
|
+
allow(StackOneHRIS::EmployeesApi).to receive(:new).and_return(stackone_employees_api_double)
|
26
26
|
options = { :expand => 'employments,home_location', :remote_id => '456' }
|
27
27
|
|
28
28
|
expect(stackone_employees_api_double).to receive(:employees_get).with('456', '123', { :expand => 'employments,home_location' })
|
@@ -8,9 +8,9 @@ describe MergeHRISClient::LinkTokenApi do
|
|
8
8
|
context '.link_token_create' do
|
9
9
|
context 'when the the key to use merge is not present in the options' do
|
10
10
|
it 'returns a merge link token object' do
|
11
|
-
session_data =
|
12
|
-
connect_sessions_api_double = double('
|
13
|
-
allow(
|
11
|
+
session_data = StackOneHRIS::ConnectSessionToken.new(:token => 'test_token')
|
12
|
+
connect_sessions_api_double = double('StackOneHRIS::ConnectSessionsApi', :connect_sessions_create => session_data)
|
13
|
+
allow(StackOneHRIS::ConnectSessionsApi).to receive(:new).and_return(connect_sessions_api_double)
|
14
14
|
|
15
15
|
end_user_details_request = MergeHRISClient::EndUserDetailsRequest.new(
|
16
16
|
:end_user_email_address => 'tos@potig.er',
|
@@ -25,9 +25,9 @@ describe MergeHRISClient::LinkTokenApi do
|
|
25
25
|
end
|
26
26
|
|
27
27
|
it 'returns an object with the right attributes' do
|
28
|
-
session_data =
|
29
|
-
connect_sessions_api_double = double('
|
30
|
-
allow(
|
28
|
+
session_data = StackOneHRIS::ConnectSessionToken.new(:token => 'test_token')
|
29
|
+
connect_sessions_api_double = double('StackOneHRIS::ConnectSessionsApi', :connect_sessions_create => session_data)
|
30
|
+
allow(StackOneHRIS::ConnectSessionsApi).to receive(:new).and_return(connect_sessions_api_double)
|
31
31
|
|
32
32
|
end_user_details_request = MergeHRISClient::EndUserDetailsRequest.new(
|
33
33
|
:end_user_email_address => 'tos@potig.er',
|
@@ -42,9 +42,9 @@ describe MergeHRISClient::LinkTokenApi do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'calls the connect sessions api with the right parameters' do
|
45
|
-
session_data =
|
46
|
-
connect_sessions_api_double = double('
|
47
|
-
allow(
|
45
|
+
session_data = StackOneHRIS::ConnectSessionToken.new(:token => 'test_token')
|
46
|
+
connect_sessions_api_double = double('StackOneHRIS::ConnectSessionsApi', :connect_sessions_create => session_data)
|
47
|
+
allow(StackOneHRIS::ConnectSessionsApi).to receive(:new).and_return(connect_sessions_api_double)
|
48
48
|
|
49
49
|
end_user_details_request = MergeHRISClient::EndUserDetailsRequest.new(
|
50
50
|
:end_user_email_address => 'tos@potig.er',
|
@@ -53,7 +53,7 @@ describe MergeHRISClient::LinkTokenApi do
|
|
53
53
|
:integration => 'stackone_hris_provider',
|
54
54
|
)
|
55
55
|
|
56
|
-
expected_request =
|
56
|
+
expected_request = StackOneHRIS::ConnectSessionCreate.new(
|
57
57
|
:origin_owner_id => 'user_origin_id',
|
58
58
|
:origin_owner_name => 'tos@potig.er',
|
59
59
|
:provider => 'stackone_hris_provider',
|
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe StackOneMigration::EmployeesMapper do
|
6
6
|
let(:sample_employee) {
|
7
|
-
|
7
|
+
StackOneHRIS::Employee.new(
|
8
8
|
:id => '123',
|
9
9
|
:first_name => 'Jean',
|
10
10
|
:last_name => 'Harrington',
|
@@ -15,16 +15,40 @@ describe StackOneMigration::EmployeesMapper do
|
|
15
15
|
:work_email => 'kota@efpiphi.kw',
|
16
16
|
:personal_phone_number => '(715) 658-9486',
|
17
17
|
:gender => 'female',
|
18
|
-
:
|
18
|
+
:date_of_birth => '1990-01-01',
|
19
19
|
:start_date => '2018-01-01',
|
20
20
|
:manager_id => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
21
21
|
:work_phone_number => '(456) 787-3508',
|
22
|
-
:
|
22
|
+
:job_title => 'Manager',
|
23
23
|
:department => 'Human Resources',
|
24
|
-
|
24
|
+
:home_location => {
|
25
|
+
:phone_number => '(456) 787-3508',
|
26
|
+
:street_1 => '123 Main St',
|
27
|
+
:street_2 => 'Apt 1',
|
28
|
+
:city => 'San Francisco',
|
29
|
+
:state => 'CA',
|
30
|
+
:zip_code => '94105',
|
31
|
+
:country => 'US',
|
32
|
+
},
|
33
|
+
:work_location => nil,
|
34
|
+
:company => {
|
35
|
+
display_name: 'StackOne',
|
36
|
+
},
|
37
|
+
:employments => [
|
38
|
+
{
|
39
|
+
job_title: 'Manager',
|
40
|
+
pay_rate: 100000,
|
41
|
+
pay_period: 'yearly',
|
42
|
+
pay_frequency: 'weekly',
|
43
|
+
pay_currency: 'USD',
|
44
|
+
effective_date: '2018-01-01',
|
45
|
+
employee_type: 'full_time',
|
46
|
+
}
|
47
|
+
]
|
48
|
+
)
|
25
49
|
}
|
26
50
|
let(:other_sample_employee) {
|
27
|
-
|
51
|
+
StackOneHRIS::Employee.new(
|
28
52
|
:id => '456',
|
29
53
|
:first_name => 'Allie',
|
30
54
|
:last_name => 'Shaw',
|
@@ -35,11 +59,11 @@ describe StackOneMigration::EmployeesMapper do
|
|
35
59
|
:work_email => 'kota@efpiphi.kw',
|
36
60
|
:personal_phone_number => '(715) 658-9486',
|
37
61
|
:gender => 'female',
|
38
|
-
:
|
62
|
+
:date_of_birth => '1990-01-01',
|
39
63
|
:start_date => '2018-01-01',
|
40
64
|
:manager_id => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
41
65
|
:work_phone_number => '(456) 787-3508',
|
42
|
-
:
|
66
|
+
:job_title => 'Manager',
|
43
67
|
:department => 'Human Resources',
|
44
68
|
)
|
45
69
|
}
|
@@ -68,6 +92,30 @@ describe StackOneMigration::EmployeesMapper do
|
|
68
92
|
:date_of_birth => '1990-01-01',
|
69
93
|
:start_date => '2018-01-01',
|
70
94
|
:manager => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
95
|
+
:home_location => {
|
96
|
+
phone_number: '(456) 787-3508',
|
97
|
+
street_1: '123 Main St',
|
98
|
+
street_2: 'Apt 1',
|
99
|
+
city: 'San Francisco',
|
100
|
+
state: 'CA',
|
101
|
+
zip_code: '94105',
|
102
|
+
country: 'US',
|
103
|
+
},
|
104
|
+
:work_location => nil,
|
105
|
+
:company => {
|
106
|
+
display_name: 'StackOne',
|
107
|
+
},
|
108
|
+
:employments => [
|
109
|
+
{
|
110
|
+
job_title: 'Manager',
|
111
|
+
pay_rate: 100000,
|
112
|
+
pay_period: 'yearly',
|
113
|
+
pay_frequency: 'weekly',
|
114
|
+
pay_currency: 'USD',
|
115
|
+
effective_date: '2018-01-01',
|
116
|
+
employee_type: 'full_time',
|
117
|
+
}
|
118
|
+
]
|
71
119
|
)
|
72
120
|
end
|
73
121
|
|
@@ -107,6 +155,30 @@ describe StackOneMigration::EmployeesMapper do
|
|
107
155
|
:date_of_birth => '1990-01-01',
|
108
156
|
:start_date => '2018-01-01',
|
109
157
|
:manager => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
158
|
+
:home_location => {
|
159
|
+
phone_number: '(456) 787-3508',
|
160
|
+
street_1: '123 Main St',
|
161
|
+
street_2: 'Apt 1',
|
162
|
+
city: 'San Francisco',
|
163
|
+
state: 'CA',
|
164
|
+
zip_code: '94105',
|
165
|
+
country: 'US',
|
166
|
+
},
|
167
|
+
:work_location => nil,
|
168
|
+
:company => {
|
169
|
+
display_name: 'StackOne',
|
170
|
+
},
|
171
|
+
:employments => [
|
172
|
+
{
|
173
|
+
job_title: 'Manager',
|
174
|
+
pay_rate: 100000,
|
175
|
+
pay_period: 'yearly',
|
176
|
+
pay_frequency: 'weekly',
|
177
|
+
pay_currency: 'USD',
|
178
|
+
effective_date: '2018-01-01',
|
179
|
+
employee_type: 'full_time',
|
180
|
+
}
|
181
|
+
]
|
110
182
|
)
|
111
183
|
],
|
112
184
|
:previous => nil)
|
@@ -128,7 +200,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
128
200
|
it 'maps the employees to a paginated employee list classl' do
|
129
201
|
other_sample_employee = sample_employee.clone
|
130
202
|
|
131
|
-
stackone_paginated_employees =
|
203
|
+
stackone_paginated_employees = StackOneHRIS::EmployeesPaginated.new(
|
132
204
|
:next_page => 'next_page_token',
|
133
205
|
:data => [sample_employee, other_sample_employee],
|
134
206
|
)
|
@@ -140,7 +212,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
140
212
|
|
141
213
|
|
142
214
|
it 'maps the employee list attributes with the right structure to the target class' do
|
143
|
-
stackone_paginated_employees =
|
215
|
+
stackone_paginated_employees = StackOneHRIS::EmployeesPaginated.new(
|
144
216
|
:next_page => 'next_page_token',
|
145
217
|
:data => [sample_employee, other_sample_employee],
|
146
218
|
)
|
@@ -164,6 +236,30 @@ describe StackOneMigration::EmployeesMapper do
|
|
164
236
|
:date_of_birth => '1990-01-01',
|
165
237
|
:start_date => '2018-01-01',
|
166
238
|
:manager => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
239
|
+
:home_location => {
|
240
|
+
phone_number: '(456) 787-3508',
|
241
|
+
street_1: '123 Main St',
|
242
|
+
street_2: 'Apt 1',
|
243
|
+
city: 'San Francisco',
|
244
|
+
state: 'CA',
|
245
|
+
zip_code: '94105',
|
246
|
+
country: 'US',
|
247
|
+
},
|
248
|
+
:work_location => nil,
|
249
|
+
:company => {
|
250
|
+
display_name: 'StackOne',
|
251
|
+
},
|
252
|
+
:employments => [
|
253
|
+
{
|
254
|
+
job_title: 'Manager',
|
255
|
+
pay_rate: 100000,
|
256
|
+
pay_period: 'yearly',
|
257
|
+
pay_frequency: 'weekly',
|
258
|
+
pay_currency: 'USD',
|
259
|
+
effective_date: '2018-01-01',
|
260
|
+
employee_type: 'full_time',
|
261
|
+
}
|
262
|
+
]
|
167
263
|
),
|
168
264
|
MergeHRISClient::Employee.new(
|
169
265
|
:id => '456',
|
data/stackone_migration.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.required_ruby_version = '>= 2.7'
|
17
17
|
|
18
18
|
s.add_runtime_dependency 'merge_hris_client', '~> 3.0'
|
19
|
-
s.add_runtime_dependency 'stackone_hris_client', '~> 1.1'
|
19
|
+
s.add_runtime_dependency 'stackone_hris_client', '~> 1.2.1'
|
20
20
|
|
21
21
|
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
22
22
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackone_migration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- StackOne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: merge_hris_client
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.2.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.2.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,12 +72,14 @@ files:
|
|
72
72
|
- Rakefile
|
73
73
|
- lib/stackone_migration.rb
|
74
74
|
- lib/stackone_migration/api/account_token_api.rb
|
75
|
+
- lib/stackone_migration/api/delete_account_api.rb
|
75
76
|
- lib/stackone_migration/api/employees_api.rb
|
76
77
|
- lib/stackone_migration/api/link_token_api.rb
|
77
78
|
- lib/stackone_migration/helpers/account_helper.rb
|
78
79
|
- lib/stackone_migration/mappers/employees_mapper.rb
|
79
80
|
- lib/stackone_migration/version.rb
|
80
81
|
- spec/api/account_token_api_spec.rb
|
82
|
+
- spec/api/delete_account_api_spec.rb
|
81
83
|
- spec/api/employees_api_spec.rb
|
82
84
|
- spec/api/link_token_api_spec.rb
|
83
85
|
- spec/helpers/account_helper_spec.rb
|
@@ -110,6 +112,7 @@ summary: StackOne migration client gem
|
|
110
112
|
test_files:
|
111
113
|
- spec/api/employees_api_spec.rb
|
112
114
|
- spec/api/account_token_api_spec.rb
|
115
|
+
- spec/api/delete_account_api_spec.rb
|
113
116
|
- spec/api/link_token_api_spec.rb
|
114
117
|
- spec/helpers/account_helper_spec.rb
|
115
118
|
- spec/mappers/employees_mapper_spec.rb
|