stackone_migration 1.4.7 → 1.5.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 +2 -2
- data/Gemfile.lock +8 -8
- data/lib/stackone_migration/api/link_token_api.rb +2 -2
- data/lib/stackone_migration/mappers/employees_mapper.rb +6 -6
- data/lib/stackone_migration/version.rb +1 -1
- data/spec/api/link_token_api_spec.rb +5 -3
- data/spec/mappers/employees_mapper_spec.rb +19 -16
- data/stackone_migration.gemspec +2 -2
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 461c790935a1b46352c204f8b916739fb2e7d7a555dcf535dcf5148d26bc825a
|
4
|
+
data.tar.gz: 9815b79fe59625b69336a64a54fd072bb1637be56e74b9fc109406edfdc42e77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99771455259f2bd8e73495eaf0fb09a981b270e5512e4b9c59183e868316204248341d638c9f5243511268d4ac19453fa4ba342aa6baddabb693806d110db6e9
|
7
|
+
data.tar.gz: 9be418eb218194e7da547029ec4e8fb0edf5ff4bcc2e8049c7bd210dd68e473cd610e24ec5695ed5510148819430d658910eb55386bee4d185b0106d00a9bfb6
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stackone_migration (1.
|
5
|
-
merge_hris_client (
|
6
|
-
stackone_hris_client (~> 1.
|
4
|
+
stackone_migration (1.5.0)
|
5
|
+
merge_hris_client (= 3.2.0)
|
6
|
+
stackone_hris_client (~> 1.7.0)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
@@ -16,7 +16,7 @@ GEM
|
|
16
16
|
ffi (>= 1.15.0)
|
17
17
|
ffi (1.15.5)
|
18
18
|
json (2.6.3)
|
19
|
-
merge_hris_client (3.
|
19
|
+
merge_hris_client (3.2.0)
|
20
20
|
typhoeus (~> 1.0, >= 1.0.1)
|
21
21
|
method_source (1.0.0)
|
22
22
|
parallel (1.22.1)
|
@@ -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.7.0)
|
62
62
|
typhoeus (~> 1.0, >= 1.0.1)
|
63
63
|
typhoeus (1.4.0)
|
64
64
|
ethon (>= 0.9.0)
|
@@ -68,13 +68,13 @@ PLATFORMS
|
|
68
68
|
arm64-darwin-22
|
69
69
|
|
70
70
|
DEPENDENCIES
|
71
|
-
merge_hris_client (
|
71
|
+
merge_hris_client (= 3.2.0)
|
72
72
|
pry-byebug
|
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.
|
76
|
+
stackone_hris_client (~> 1.7.0)
|
77
77
|
stackone_migration!
|
78
78
|
|
79
79
|
BUNDLED WITH
|
80
|
-
2.4.
|
80
|
+
2.4.13
|
@@ -6,10 +6,10 @@ module MergeHRISClient
|
|
6
6
|
|
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
|
-
|
10
9
|
connect_session_create_request = StackOneHRIS::ConnectSessionCreate.new(
|
11
10
|
:origin_owner_id => end_user_details_request.end_user_origin_id,
|
12
|
-
:origin_owner_name => end_user_details_request.end_user_email_address,
|
11
|
+
:origin_owner_name => end_user_details_request.end_user_organization_name || end_user_details_request.end_user_email_address,
|
12
|
+
:origin_username => end_user_details_request.end_user_email_address,
|
13
13
|
:provider => StackOneMigration::ProviderMapper.map_to_stackone_provider_name(end_user_details_request.integration),
|
14
14
|
:categories => end_user_details_request.categories,
|
15
15
|
)
|
@@ -144,14 +144,14 @@ module StackOneMigration
|
|
144
144
|
:pay_frequency => build_merge_enum(MergeHRISClient::PayFrequencyEnum, pay_frequency_enum_hash, employment.pay_frequency),
|
145
145
|
:pay_currency => MergeHRISClient::PayCurrencyEnum.build_from_hash(employment.pay_currency&.to_s&.upcase),
|
146
146
|
:effective_date => employment.effective_date,
|
147
|
-
:employment_type => MergeHRISClient::EmploymentTypeEnum
|
147
|
+
:employment_type => build_merge_enum(MergeHRISClient::EmploymentTypeEnum, employment_type_enum_hash, employment.employment_type),
|
148
148
|
)
|
149
149
|
end
|
150
150
|
|
151
151
|
def self.map_employments(employments)
|
152
|
-
if employments.nil?
|
152
|
+
if employments.nil?
|
153
153
|
mapped_results = []
|
154
|
-
else
|
154
|
+
else
|
155
155
|
mapped_results = employments.map do |employment|
|
156
156
|
map_to_employment_model(employment)
|
157
157
|
end
|
@@ -167,13 +167,13 @@ module StackOneMigration
|
|
167
167
|
:_next => nil,
|
168
168
|
:results => mapped_results,
|
169
169
|
:previous => nil
|
170
|
-
)
|
170
|
+
)
|
171
171
|
end
|
172
172
|
|
173
173
|
def self.map_to_paginated_employee_list_model(paginated_employees)
|
174
|
-
if paginated_employees&.data.nil?
|
174
|
+
if paginated_employees&.data.nil?
|
175
175
|
mapped_results = []
|
176
|
-
else
|
176
|
+
else
|
177
177
|
mapped_results = paginated_employees.data.map do |employee|
|
178
178
|
map_to_employee_model(employee)
|
179
179
|
end
|
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
|
5
5
|
describe MergeHRISClient::LinkTokenApi do
|
6
6
|
subject { MergeHRISClient::LinkTokenApi.new }
|
7
|
-
|
7
|
+
|
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
|
@@ -49,19 +49,21 @@ describe MergeHRISClient::LinkTokenApi do
|
|
49
49
|
end_user_details_request = MergeHRISClient::EndUserDetailsRequest.new(
|
50
50
|
:end_user_email_address => 'tos@potig.er',
|
51
51
|
:end_user_origin_id => 'user_origin_id',
|
52
|
+
:end_user_organization_name => 'sample org',
|
52
53
|
:categories => ['hris'],
|
53
54
|
:integration => 'sage-hr',
|
54
55
|
)
|
55
56
|
|
56
57
|
expected_request = StackOneHRIS::ConnectSessionCreate.new(
|
57
58
|
:origin_owner_id => 'user_origin_id',
|
58
|
-
:
|
59
|
+
:origin_username => 'tos@potig.er',
|
60
|
+
:origin_owner_name => 'sample org',
|
59
61
|
:provider => 'sage',
|
60
62
|
:categories => ['hris'],
|
61
63
|
)
|
62
64
|
|
63
65
|
expect(connect_sessions_api_double).to receive(:connect_sessions_create).with(expected_request)
|
64
|
-
|
66
|
+
|
65
67
|
result = subject.link_token_create(end_user_details_request)
|
66
68
|
end
|
67
69
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe StackOneMigration::EmployeesMapper do
|
6
|
-
let(:sample_employee) {
|
6
|
+
let(:sample_employee) {
|
7
7
|
StackOneHRIS::Employee.new(
|
8
8
|
:id => '123',
|
9
9
|
:first_name => 'Jean',
|
@@ -24,7 +24,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
24
24
|
:work_phone_number => '(456) 787-3508',
|
25
25
|
:job_title => 'Manager',
|
26
26
|
:department => 'Human Resources',
|
27
|
-
:home_location =>
|
27
|
+
:home_location =>
|
28
28
|
StackOneHRIS::Location.new(
|
29
29
|
:phone_number => "(456) 787-3508",
|
30
30
|
:street_1 => "123 Main' St",
|
@@ -37,19 +37,20 @@ describe StackOneMigration::EmployeesMapper do
|
|
37
37
|
),
|
38
38
|
:work_location => nil,
|
39
39
|
:employments => [
|
40
|
-
StackOneHRIS::Employment.new(
|
40
|
+
StackOneHRIS::Employment.new(
|
41
41
|
:job_title => 'Manager',
|
42
42
|
:pay_rate => 100000,
|
43
43
|
:pay_period => StackOneHRIS::PayPeriodEnum.new(value: 'year', source_value: 'Year'),
|
44
44
|
:pay_frequency => StackOneHRIS::PayFrequencyEnum.new(value: 'weekly', source_value: 'Weekly'),
|
45
45
|
:pay_currency => 'USD',
|
46
46
|
:effective_date => '2018-01-01',
|
47
|
-
:employment_type => StackOneHRIS::EmploymentTypeEnum.new(value: '
|
47
|
+
:employment_type => StackOneHRIS::EmploymentTypeEnum.new(value: 'contractor', source_value: 'Contractor'),
|
48
|
+
:employment_contract_type => StackOneHRIS::EmploymentTypeEnum.new(value: 'full_time', source_value: 'Full time'),
|
48
49
|
)
|
49
50
|
]
|
50
51
|
)
|
51
52
|
}
|
52
|
-
let(:other_sample_employee) {
|
53
|
+
let(:other_sample_employee) {
|
53
54
|
StackOneHRIS::Employee.new(
|
54
55
|
:id => '456',
|
55
56
|
:first_name => 'Allie',
|
@@ -65,9 +66,9 @@ describe StackOneMigration::EmployeesMapper do
|
|
65
66
|
:work_phone_number => '(456) 787-3508',
|
66
67
|
:job_title => 'Manager',
|
67
68
|
:department => 'Human Resources',
|
68
|
-
)
|
69
|
+
)
|
69
70
|
}
|
70
|
-
let(:another_sample_employee) {
|
71
|
+
let(:another_sample_employee) {
|
71
72
|
StackOneHRIS::Employee.new(
|
72
73
|
:id => '456',
|
73
74
|
:first_name => 'Allie',
|
@@ -84,9 +85,9 @@ describe StackOneMigration::EmployeesMapper do
|
|
84
85
|
:personal_phone_number => '(715) 658-9486',
|
85
86
|
:job_title => 'Manager',
|
86
87
|
:department => 'Human Resources',
|
87
|
-
)
|
88
|
+
)
|
88
89
|
}
|
89
|
-
let(:employee_with_no_phone_number_and_avatar) {
|
90
|
+
let(:employee_with_no_phone_number_and_avatar) {
|
90
91
|
StackOneHRIS::Employee.new(
|
91
92
|
:id => '456',
|
92
93
|
:first_name => 'Allie',
|
@@ -101,7 +102,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
101
102
|
:manager_id => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
102
103
|
:job_title => 'Manager',
|
103
104
|
:department => 'Human Resources',
|
104
|
-
)
|
105
|
+
)
|
105
106
|
}
|
106
107
|
|
107
108
|
context '.map_to_employee_model' do
|
@@ -299,14 +300,15 @@ describe StackOneMigration::EmployeesMapper do
|
|
299
300
|
|
300
301
|
context '.map_to_employment_model' do
|
301
302
|
it 'maps a employeement to correct class' do
|
302
|
-
sample_employment = StackOneHRIS::Employment.new(
|
303
|
+
sample_employment = StackOneHRIS::Employment.new(
|
303
304
|
:job_title => 'Manager',
|
304
305
|
:pay_rate => 100000,
|
305
306
|
:pay_period => StackOneHRIS::PayPeriodEnum.new(value: 'year', source_value: 'Year'),
|
306
307
|
:pay_frequency => StackOneHRIS::PayFrequencyEnum.new(value: 'weekly', source_value: 'Weekly'),
|
307
308
|
:pay_currency => 'USD',
|
308
309
|
:effective_date => '2018-01-01',
|
309
|
-
:employment_type => StackOneHRIS::EmploymentTypeEnum.new(value: '
|
310
|
+
:employment_type => StackOneHRIS::EmploymentTypeEnum.new(value: 'contractor', source_value: 'Contractor'),
|
311
|
+
:employment_contract_type => StackOneHRIS::EmploymentTypeEnum.new(value: 'full_time', source_value: 'Full Time'),
|
310
312
|
)
|
311
313
|
|
312
314
|
target_model = described_class.map_to_employment_model(sample_employment)
|
@@ -315,14 +317,15 @@ describe StackOneMigration::EmployeesMapper do
|
|
315
317
|
end
|
316
318
|
|
317
319
|
it 'maps a employeement with the right attributes' do
|
318
|
-
sample_employment = StackOneHRIS::Employment.new(
|
320
|
+
sample_employment = StackOneHRIS::Employment.new(
|
319
321
|
:job_title => 'Manager',
|
320
322
|
:pay_rate => 100000,
|
321
323
|
:pay_period => StackOneHRIS::PayPeriodEnum.new(value: 'year', source_value: 'Year'),
|
322
324
|
:pay_frequency => StackOneHRIS::PayFrequencyEnum.new(value: 'weekly', source_value: 'Weekly'),
|
323
325
|
:pay_currency => 'USD',
|
324
326
|
:effective_date => '2018-01-01',
|
325
|
-
:employment_type => StackOneHRIS::EmploymentTypeEnum.new(value: '
|
327
|
+
:employment_type => StackOneHRIS::EmploymentTypeEnum.new(value: 'contractor', source_value: 'Contractor'),
|
328
|
+
:employment_contract_type => StackOneHRIS::EmploymentTypeEnum.new(value: 'full_time', source_value: 'Full time'),
|
326
329
|
)
|
327
330
|
|
328
331
|
target_model = described_class.map_to_employment_model(sample_employment)
|
@@ -333,7 +336,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
333
336
|
expect(target_model.pay_frequency).to have_attributes(:value => 'WEEKLY', :raw_value => 'Weekly')
|
334
337
|
expect(target_model.pay_currency).to have_attributes(:value => 'USD', :raw_value => 'USD')
|
335
338
|
expect(target_model.effective_date).to eq('2018-01-01')
|
336
|
-
expect(target_model.employment_type).to have_attributes(:value => '
|
339
|
+
expect(target_model.employment_type).to have_attributes(:value => 'CONTRACTOR', :raw_value => 'Contractor')
|
337
340
|
end
|
338
341
|
end
|
339
342
|
|
@@ -378,7 +381,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
378
381
|
|
379
382
|
expect(target_model).to be_a(MergeHRISClient::PaginatedEmployeeList)
|
380
383
|
end
|
381
|
-
|
384
|
+
|
382
385
|
|
383
386
|
it 'maps the employee list attributes with the right structure to the target class' do
|
384
387
|
stackone_paginated_employees = StackOneHRIS::EmployeesPaginated.new(
|
data/stackone_migration.gemspec
CHANGED
@@ -15,8 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.license = 'MIT'
|
16
16
|
s.required_ruby_version = '>= 2.7'
|
17
17
|
|
18
|
-
s.add_runtime_dependency 'merge_hris_client', '
|
19
|
-
s.add_runtime_dependency 'stackone_hris_client', '~> 1.
|
18
|
+
s.add_runtime_dependency 'merge_hris_client', '3.2.0'
|
19
|
+
s.add_runtime_dependency 'stackone_hris_client', '~> 1.7.0'
|
20
20
|
|
21
21
|
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
22
22
|
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackone_migration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.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-
|
11
|
+
date: 2023-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: merge_hris_client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 3.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: stackone_hris_client
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.7.0
|
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: 1.
|
40
|
+
version: 1.7.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|