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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67a03369917c2e312bf393a5f96d3493d5b6430647fc8f080d3b2a37be59c29a
4
- data.tar.gz: ac3404c9425e9a1bddbf0613025bfaa84e1091e6afc5b137dc12f4eaa1cdfd18
3
+ metadata.gz: d847c0bb8a3646c4fb2f47428321883eaecaa10bf171300292f823e91e105b8e
4
+ data.tar.gz: 808f3aac0a165982d78a166bf39e368cab711e419684fd83e0c3dcb0dc264541
5
5
  SHA512:
6
- metadata.gz: 603295af5e304db4088764640a04a6c5d61a5cb0f569d66aec876732b49c659e6054eaa7b870c511d244a244dc7f47b194e8c20440c22cc1bd9e18792c0f59ed
7
- data.tar.gz: 1e766c8704c8ab85cdb04607819dced4e65b6516c550c322975bb95de60cd6bc20e7419d013389158466b8353ed1f87f391f180567a87fdfe70839975196dfec
6
+ metadata.gz: 2e5b2dadc6c0fe202af202f29f5013a2d26a93ef054715619419c16442aafb45c9f902ef44ae4249b09c15120283bf1b163d9c54bc3c90402c2dbafbca5ec295
7
+ data.tar.gz: aa419a3ec1a10634b2744f3202f0705e860f009213fb0d82c42d3e244e53ff7d2fe4a3aca3b33402d03c22042db9caf4c9eb8878ddda76f5da7e9b461e838bd5
data/Gemfile CHANGED
@@ -11,4 +11,4 @@ group :development, :test do
11
11
  end
12
12
 
13
13
  gem 'merge_hris_client', '~> 3.0'
14
- gem 'stackone_hris_client', '~> 1.5.1'
14
+ gem 'stackone_hris_client', '~> 1.5.2'
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stackone_migration (1.4.0)
4
+ stackone_migration (1.4.2)
5
5
  merge_hris_client (~> 3.0)
6
- stackone_hris_client (~> 1.5.1)
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.1)
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.1)
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.avatar_url,
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,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module StackOneMigration
4
- VERSION = '1.4.0'
4
+ VERSION = '1.4.2'
5
5
  end
@@ -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
- :avatar_url => 'https://www.gravatar.com/avatar/0c1c0c1c0c1c0c1c0c1c0c1c0c1c0c1c?d=mm&s=200',
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
- :avatar_url => 'https://www.gravatar.com/avatar/0c1c0c1c0c1c0c1c0c1c0c1c0c1c0c1c?d=mm&s=200',
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
@@ -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.1'
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.0
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-09 00:00:00.000000000 Z
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.1
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.1
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: