stackone_migration 1.4.0 → 1.4.2
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/lib/stackone_migration/mappers/employees_mapper.rb +3 -3
- data/lib/stackone_migration/version.rb +1 -1
- data/spec/mappers/employees_mapper_spec.rb +97 -3
- data/stackone_migration-1.4.1.gem +0 -0
- data/stackone_migration.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d847c0bb8a3646c4fb2f47428321883eaecaa10bf171300292f823e91e105b8e
|
4
|
+
data.tar.gz: 808f3aac0a165982d78a166bf39e368cab711e419684fd83e0c3dcb0dc264541
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e5b2dadc6c0fe202af202f29f5013a2d26a93ef054715619419c16442aafb45c9f902ef44ae4249b09c15120283bf1b163d9c54bc3c90402c2dbafbca5ec295
|
7
|
+
data.tar.gz: aa419a3ec1a10634b2744f3202f0705e860f009213fb0d82c42d3e244e53ff7d2fe4a3aca3b33402d03c22042db9caf4c9eb8878ddda76f5da7e9b461e838bd5
|
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.
|
4
|
+
stackone_migration (1.4.2)
|
5
5
|
merge_hris_client (~> 3.0)
|
6
|
-
stackone_hris_client (~> 1.5.
|
6
|
+
stackone_hris_client (~> 1.5.2)
|
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.5.
|
61
|
+
stackone_hris_client (1.5.2)
|
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.5.
|
76
|
+
stackone_hris_client (~> 1.5.2)
|
77
77
|
stackone_migration!
|
78
78
|
|
79
79
|
BUNDLED WITH
|
@@ -97,11 +97,11 @@ module StackOneMigration
|
|
97
97
|
:first_name => employee.first_name,
|
98
98
|
:last_name => employee.last_name,
|
99
99
|
:display_full_name => employee.display_name,
|
100
|
-
:avatar => employee.
|
100
|
+
:avatar => employee.avatar&.url || employee.avatar&.base64,
|
101
101
|
:personal_email => employee.personal_email,
|
102
102
|
:work_email => employee.work_email,
|
103
|
-
:mobile_phone_number => employee.personal_phone_number,
|
104
|
-
:gender => MergeHRISClient::GenderEnum.build_from_hash(map_enum(gender_enum_hash,employee.gender)),
|
103
|
+
:mobile_phone_number => employee.personal_phone_number || employee.work_phone_number,
|
104
|
+
:gender => MergeHRISClient::GenderEnum.build_from_hash(map_enum(gender_enum_hash, employee.gender)),
|
105
105
|
:date_of_birth => employee.date_of_birth,
|
106
106
|
:start_date => employee.start_date,
|
107
107
|
:manager => employee.manager_id,
|
@@ -10,7 +10,7 @@ describe StackOneMigration::EmployeesMapper do
|
|
10
10
|
:last_name => 'Harrington',
|
11
11
|
:display_name => 'Jean Harrington',
|
12
12
|
:name => 'Jean Marie Harrington',
|
13
|
-
:
|
13
|
+
:avatar => StackOneHRIS::Image.new(url: 'https://www.gravatar.com/avatar/0c1c0c1c0c1c0c1c0c1c0c1c0c1c0c1c?d=mm&s=200'),
|
14
14
|
:personal_email => 'ija@egje.wf',
|
15
15
|
:work_email => 'kota@efpiphi.kw',
|
16
16
|
:personal_phone_number => '(715) 658-9486',
|
@@ -56,10 +56,9 @@ describe StackOneMigration::EmployeesMapper do
|
|
56
56
|
:last_name => 'Shaw',
|
57
57
|
:display_name => 'Allie Shaw',
|
58
58
|
:name => 'Allie Jennifer Shaw',
|
59
|
-
:
|
59
|
+
:avatar => StackOneHRIS::Image.new(base64: 'this_is_a_base64_string'),
|
60
60
|
:personal_email => 'ija@egje.wf',
|
61
61
|
:work_email => 'kota@efpiphi.kw',
|
62
|
-
:personal_phone_number => '(715) 658-9486',
|
63
62
|
:gender => StackOneHRIS::GenderEnum.new(value: 'female', source_value: 'female'),
|
64
63
|
:date_of_birth => '1990-01-01',
|
65
64
|
:start_date => '2018-01-01',
|
@@ -69,6 +68,45 @@ describe StackOneMigration::EmployeesMapper do
|
|
69
68
|
:department => 'Human Resources',
|
70
69
|
)
|
71
70
|
}
|
71
|
+
let(:another_sample_employee) {
|
72
|
+
StackOneHRIS::Employee.new(
|
73
|
+
:id => '456',
|
74
|
+
:first_name => 'Allie',
|
75
|
+
:last_name => 'Shaw',
|
76
|
+
:display_name => 'Allie Shaw',
|
77
|
+
:name => 'Allie Jennifer Shaw',
|
78
|
+
:avatar => StackOneHRIS::Image.new(
|
79
|
+
url: 'https://www.gravatar.com/avatar/0c1c0c1c0c1c0c1c0c1c0c1c0c1c0c1c?d=mm&s=200',
|
80
|
+
base64: 'this_is_a_base64_string'
|
81
|
+
),
|
82
|
+
:personal_email => 'ija@egje.wf',
|
83
|
+
:work_email => 'kota@efpiphi.kw',
|
84
|
+
:gender => StackOneHRIS::GenderEnum.new(value: 'female', source_value: 'female'),
|
85
|
+
:date_of_birth => '1990-01-01',
|
86
|
+
:start_date => '2018-01-01',
|
87
|
+
:manager_id => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
88
|
+
:personal_phone_number => '(715) 658-9486',
|
89
|
+
:job_title => 'Manager',
|
90
|
+
:department => 'Human Resources',
|
91
|
+
)
|
92
|
+
}
|
93
|
+
let(:employee_with_no_phone_number_and_avatar) {
|
94
|
+
StackOneHRIS::Employee.new(
|
95
|
+
:id => '456',
|
96
|
+
:first_name => 'Allie',
|
97
|
+
:last_name => 'Shaw',
|
98
|
+
:display_name => 'Allie Shaw',
|
99
|
+
:name => 'Allie Jennifer Shaw',
|
100
|
+
:personal_email => 'ija@egje.wf',
|
101
|
+
:work_email => 'kota@efpiphi.kw',
|
102
|
+
:gender => StackOneHRIS::GenderEnum.new(value: 'female', source_value: 'female'),
|
103
|
+
:date_of_birth => '1990-01-01',
|
104
|
+
:start_date => '2018-01-01',
|
105
|
+
:manager_id => '417b5e62-e011-5e69-a906-0aefade9ded1',
|
106
|
+
:job_title => 'Manager',
|
107
|
+
:department => 'Human Resources',
|
108
|
+
)
|
109
|
+
}
|
72
110
|
|
73
111
|
context '.map_to_employee_model' do
|
74
112
|
it 'maps the employee to the target employee class' do
|
@@ -102,6 +140,62 @@ describe StackOneMigration::EmployeesMapper do
|
|
102
140
|
expect(target_model.employment_status).to have_attributes(:value => 'INACTIVE')
|
103
141
|
end
|
104
142
|
|
143
|
+
context 'when the employee record has the avatar base64 field instead of url' do
|
144
|
+
it 'fills the avatar field with the base64 value' do
|
145
|
+
target_model = described_class.map_to_employee_model(other_sample_employee)
|
146
|
+
|
147
|
+
expect(target_model.avatar).to eq('this_is_a_base64_string')
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
context 'when the employee record has both avatar fields' do
|
152
|
+
it 'fills the avatar field with the url value' do
|
153
|
+
target_model = described_class.map_to_employee_model(another_sample_employee)
|
154
|
+
|
155
|
+
expect(target_model.avatar).to eq('https://www.gravatar.com/avatar/0c1c0c1c0c1c0c1c0c1c0c1c0c1c0c1c?d=mm&s=200')
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
context 'when the employee record has no avatar' do
|
160
|
+
it 'fills the avatar field with nil' do
|
161
|
+
target_model = described_class.map_to_employee_model(employee_with_no_phone_number_and_avatar)
|
162
|
+
|
163
|
+
expect(target_model.avatar).to be_nil
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
context 'when the employee record has both personal and work phone number' do
|
168
|
+
it 'fills the mobile phone number with personal phone number' do
|
169
|
+
target_model = described_class.map_to_employee_model(sample_employee)
|
170
|
+
|
171
|
+
expect(target_model.mobile_phone_number).to eq('(715) 658-9486')
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
context 'when the employee record only has personal phone number' do
|
176
|
+
it 'fills the mobile phone number with personal phone number' do
|
177
|
+
target_model = described_class.map_to_employee_model(another_sample_employee)
|
178
|
+
|
179
|
+
expect(target_model.mobile_phone_number).to eq('(715) 658-9486')
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
context 'when the employee record only has work phone number' do
|
184
|
+
it 'fills the mobile phone number with work phone number' do
|
185
|
+
target_model = described_class.map_to_employee_model(other_sample_employee)
|
186
|
+
|
187
|
+
expect(target_model.mobile_phone_number).to eq('(456) 787-3508')
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
context 'when the employee record does not have phone numbers' do
|
192
|
+
it 'fills the mobile phone number with nil' do
|
193
|
+
target_model = described_class.map_to_employee_model(employee_with_no_phone_number_and_avatar)
|
194
|
+
|
195
|
+
expect(target_model.mobile_phone_number).to be_nil
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
105
199
|
context 'when the employee record to map is nil' do
|
106
200
|
it 'returns nil' do
|
107
201
|
target_model = described_class.map_to_employee_model(nil)
|
Binary file
|
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.5.
|
19
|
+
s.add_runtime_dependency 'stackone_hris_client', '~> 1.5.2'
|
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.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- StackOne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-18 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: 1.5.
|
33
|
+
version: 1.5.2
|
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.5.
|
40
|
+
version: 1.5.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,6 +85,7 @@ files:
|
|
85
85
|
- spec/helpers/account_helper_spec.rb
|
86
86
|
- spec/mappers/employees_mapper_spec.rb
|
87
87
|
- spec/spec_helper.rb
|
88
|
+
- stackone_migration-1.4.1.gem
|
88
89
|
- stackone_migration.gemspec
|
89
90
|
homepage: https://stackone.com
|
90
91
|
licenses:
|