go_import 4.0.0 → 4.0.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/lib/go_import.rb +2 -0
- data/lib/go_import/model/clientvisit.rb +10 -0
- data/lib/go_import/model/comment.rb +10 -0
- data/lib/go_import/model/rootmodel.rb +56 -6
- data/lib/go_import/model/salescall.rb +10 -0
- data/lib/go_import/model/talkedto.rb +10 -0
- data/lib/go_import/model/triedtoreach.rb +10 -0
- data/sources/VISMA/.go_import/runner.rb +11 -1
- data/sources/VISMA/converter.rb +6 -22
- data/sources/base-crm/.go_import/runner.rb +55 -55
- data/sources/base-crm/converter.rb +3 -9
- data/sources/csv/converter.rb +5 -5
- data/sources/excel-basic/.go_import/runner.rb +1 -1
- data/sources/excel/converter.rb +6 -6
- data/sources/lime-easy/converter.rb +6 -6
- data/sources/lime-pro-basic/converter.rb +6 -6
- data/sources/salesforce/converter.rb +6 -6
- data/spec/helpers/shard_helper_spec.rb +3 -3
- data/spec/rootmodel_spec.rb +110 -45
- metadata +11 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 507063cbf423a43ae9e1ba8ebacb9fd83c3d6527
|
4
|
+
data.tar.gz: b58ced3f91d1be73757433c5f73f23e6fed9ae69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b23399243c9378cc42e7b802034a2a45f771f0fe764b1b52184756367f998e58345f9cae1f05ee935389b6c621f9b71fe835503aea33bfb8773ae02f21927603
|
7
|
+
data.tar.gz: cfd4216cb1097f01f40020f2daa3ab0fd789da348ba805151b5396ba385aa18b9e9b33cae5e018eeb9688bf6d1eefe06a7d90c536d78dde28a8f0bc4be2d5d5a
|
data/lib/go_import.rb
CHANGED
@@ -4,6 +4,8 @@ module GoImport
|
|
4
4
|
Dir.glob(::File.join(::File.dirname(::File.absolute_path(__FILE__)),folder), &method(:require))
|
5
5
|
end
|
6
6
|
|
7
|
+
warn "[DEPRECATION] This gem has been renamed to 'move-to-go' and will no longer be supported. Please switch to 'move-to-go' as soon as possible.\n\n"
|
8
|
+
|
7
9
|
require_relative 'go_import/errors'
|
8
10
|
require_relative 'go_import/serialize_helper'
|
9
11
|
require_relative 'go_import/model_helpers'
|
@@ -171,16 +171,66 @@ module GoImport
|
|
171
171
|
end
|
172
172
|
end
|
173
173
|
|
174
|
+
def add_sales_call(sales_call)
|
175
|
+
if sales_call.nil?
|
176
|
+
return nil
|
177
|
+
end
|
178
|
+
if !sales_call.is_a?(SalesCall)
|
179
|
+
raise ArgumentError.new("Expected a SalesCall")
|
180
|
+
end
|
181
|
+
add_history(sales_call)
|
182
|
+
end
|
183
|
+
|
184
|
+
def add_comment(comment)
|
185
|
+
if comment.nil?
|
186
|
+
return nil
|
187
|
+
end
|
188
|
+
if !comment.is_a?(Comment)
|
189
|
+
raise ArgumentError.new("Expected a Comment")
|
190
|
+
end
|
191
|
+
add_history(comment)
|
192
|
+
end
|
193
|
+
|
194
|
+
def add_talked_to(talked_to)
|
195
|
+
if talked_to.nil?
|
196
|
+
return nil
|
197
|
+
end
|
198
|
+
if !talked_to.is_a?(TalkedTo)
|
199
|
+
raise ArgumentError.new("Expected a TalkedTo")
|
200
|
+
end
|
201
|
+
add_history(talked_to)
|
202
|
+
end
|
203
|
+
|
204
|
+
def add_tried_to_reach(tried_to_reach)
|
205
|
+
if tried_to_reach.nil?
|
206
|
+
return nil
|
207
|
+
end
|
208
|
+
if !tried_to_reach.is_a?(TriedToReach)
|
209
|
+
raise ArgumentError.new("Expected a TriedToReach")
|
210
|
+
end
|
211
|
+
add_history(tried_to_reach)
|
212
|
+
end
|
213
|
+
|
214
|
+
def add_client_visit(client_visit)
|
215
|
+
if client_visit.nil?
|
216
|
+
return nil
|
217
|
+
end
|
218
|
+
if !client_visit.is_a?(ClientVisit)
|
219
|
+
raise ArgumentError.new("Expected a ClientVisit")
|
220
|
+
end
|
221
|
+
add_history(client_visit)
|
222
|
+
end
|
223
|
+
|
174
224
|
# Adds the specifed history object to the model.
|
175
225
|
#
|
176
226
|
# If no integration_id has been specifed go-import generate
|
177
227
|
# one.
|
178
228
|
#
|
179
|
-
# @example Add a
|
180
|
-
#
|
181
|
-
#
|
182
|
-
#
|
183
|
-
# rootmodel.
|
229
|
+
# @example Add a comment from a new comment
|
230
|
+
# comment = GoImport::Comment.new
|
231
|
+
# comment.integration_id = "123"
|
232
|
+
# comment.text = "This is a history"
|
233
|
+
# rootmodel.add_comment(comment)
|
184
234
|
def add_history(history)
|
185
235
|
if history.nil?
|
186
236
|
return nil
|
@@ -561,7 +611,7 @@ module GoImport
|
|
561
611
|
" Organizations: #{@organizations.length}\n" \
|
562
612
|
" Persons: #{persons.length}\n" \
|
563
613
|
" Deals: #{@deals.length}\n" \
|
564
|
-
"
|
614
|
+
" History logs: #{@histories.length}\n" \
|
565
615
|
" Documents: #{nbr_of_documents}"
|
566
616
|
end
|
567
617
|
|
@@ -67,7 +67,17 @@ def convert_source
|
|
67
67
|
organization_rows.each do |row|
|
68
68
|
if not row.nil?
|
69
69
|
if row['ANTECK_1'].length > 0
|
70
|
-
|
70
|
+
|
71
|
+
comment = GoImport::Comment.new()
|
72
|
+
|
73
|
+
organization = rootmodel.find_organization_by_integration_id(row['KUNDNR'])
|
74
|
+
unless organization.nil?
|
75
|
+
comment.organization = organization
|
76
|
+
end
|
77
|
+
comment.created_by = rootmodel.import_coworker
|
78
|
+
comment.text = row['ANTECK_1']
|
79
|
+
|
80
|
+
rootmodel.add_history(comment)
|
71
81
|
imported_history_count = imported_history_count + 1
|
72
82
|
end
|
73
83
|
end
|
data/sources/VISMA/converter.rb
CHANGED
@@ -85,22 +85,6 @@ class Converter
|
|
85
85
|
return organization
|
86
86
|
end
|
87
87
|
|
88
|
-
def to_history(row, rootmodel)
|
89
|
-
history = GoImport::History.new()
|
90
|
-
|
91
|
-
# *** TODO:
|
92
|
-
#
|
93
|
-
# Set history properties from the row.
|
94
|
-
organization = rootmodel.find_organization_by_integration_id(row['KUNDNR'])
|
95
|
-
unless organization.nil?
|
96
|
-
history.organization = organization
|
97
|
-
end
|
98
|
-
history.created_by = rootmodel.import_coworker
|
99
|
-
history.text = row['ANTECK_1']
|
100
|
-
|
101
|
-
return history
|
102
|
-
end
|
103
|
-
|
104
88
|
def to_person(row, rootmodel)
|
105
89
|
person = GoImport::Person.new()
|
106
90
|
|
@@ -121,15 +105,15 @@ class Converter
|
|
121
105
|
# HOOKS
|
122
106
|
#
|
123
107
|
# Sometimes you need to add exra information to the rootmodel, this can be done
|
124
|
-
# with hooks, below is an example of an organization hook that adds a
|
108
|
+
# with hooks, below is an example of an organization hook that adds a comment to
|
125
109
|
# an organization if a field has a specific value
|
126
110
|
#def organization_hook(row, organization, rootmodel)
|
127
111
|
# if not row['fieldname'].empty?
|
128
|
-
#
|
129
|
-
#
|
130
|
-
#
|
131
|
-
#
|
132
|
-
# rootmodel.add_history(
|
112
|
+
# comment = GoImport::Comment.new
|
113
|
+
# comment.text = row['fieldname']
|
114
|
+
# comment.organization = organization
|
115
|
+
# comment.created_by = rootmodel.import_coworker
|
116
|
+
# rootmodel.add_history(comment)
|
133
117
|
# end
|
134
118
|
#end
|
135
119
|
|
@@ -39,12 +39,12 @@ def convert_source
|
|
39
39
|
# from everywhere....
|
40
40
|
if defined?(COWORKER_FILE) && !COWORKER_FILE.nil? && !COWORKER_FILE.empty?
|
41
41
|
process_rows(COWORKER_FILE, source_encoding) do |row|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
42
|
+
coworker = converter.to_coworker(row)
|
43
|
+
coworker.integration_id = "#{row['first_name']} #{row['last_name']}"
|
44
|
+
coworker.first_name = row['first_name']
|
45
|
+
coworker.last_name = row['last_name']
|
46
|
+
coworker.email = row['email']
|
47
|
+
rootmodel.add_coworker(coworker)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
@@ -55,7 +55,7 @@ def convert_source
|
|
55
55
|
organization = converter.to_organization(row, rootmodel)
|
56
56
|
organization = GoImport::Organization.new
|
57
57
|
organization.integration_id = row['id']
|
58
|
-
|
58
|
+
organization.name = row['name']
|
59
59
|
organization.email = row['email']
|
60
60
|
organization.web_site = row['website']
|
61
61
|
organization.central_phone_number = GoImport::PhoneHelper.parse_numbers(row['phone']) if not row['phone'].nil?
|
@@ -67,33 +67,33 @@ def convert_source
|
|
67
67
|
end
|
68
68
|
|
69
69
|
organization.with_postal_address do |address|
|
70
|
-
|
71
|
-
|
72
|
-
|
70
|
+
address.street = row['address']
|
71
|
+
address.zip_code = row['zip']
|
72
|
+
address.city = row['city']
|
73
73
|
end
|
74
74
|
|
75
75
|
case row['prospect_status']
|
76
76
|
when "current"
|
77
|
-
|
77
|
+
organization.relation = GoImport::Relation::WorkingOnIt
|
78
78
|
else
|
79
|
-
|
79
|
+
organization.relation = GoImport::Relation::BeenInTouch
|
80
80
|
end
|
81
81
|
|
82
82
|
case row['customer_status']
|
83
83
|
when "current"
|
84
|
-
|
84
|
+
organization.relation = GoImport::Relation::IsACustomer
|
85
85
|
when "past"
|
86
|
-
|
86
|
+
organization.relation = GoImport::Relation::WasACustomer
|
87
87
|
else
|
88
|
-
|
88
|
+
organization.relation = GoImport::Relation::BeenInTouch
|
89
89
|
end
|
90
90
|
|
91
91
|
coworker = rootmodel.find_coworker_by_integration_id row['owner']
|
92
92
|
organization.responsible_coworker = coworker
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
93
|
+
tags = row['tags'].split(",")
|
94
|
+
tags.each do |tag|
|
95
|
+
organization.set_tag(tag)
|
96
|
+
end
|
97
97
|
|
98
98
|
rootmodel.add_organization(organization)
|
99
99
|
end
|
@@ -117,20 +117,20 @@ def convert_source
|
|
117
117
|
person.email = row['email']
|
118
118
|
|
119
119
|
organization = rootmodel.find_organization {|org|
|
120
|
-
|
121
|
-
|
120
|
+
org.name == row["organisation_name"]
|
121
|
+
}
|
122
122
|
if not organization.nil?
|
123
|
-
|
123
|
+
organization.add_employee(person)
|
124
124
|
else
|
125
|
-
|
126
|
-
|
125
|
+
puts "No organization for person '#{person.first_name} #{person.last_name}, #{person.integration_id}' could be found. Person will not be imported!"
|
126
|
+
ignored_persons += 1
|
127
127
|
end
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
131
|
# leads
|
132
132
|
if defined?(LEADS_FILE) && !LEADS_FILE.nil? && !LEADS_FILE.empty?
|
133
|
-
|
133
|
+
process_rows(LEADS_FILE, source_encoding) do |row|
|
134
134
|
organization = converter.to_organization_from_lead(row, rootmodel)
|
135
135
|
|
136
136
|
organization.integration_id = "l#{row['id']}"
|
@@ -148,10 +148,10 @@ def convert_source
|
|
148
148
|
organization.responsible_coworker = coworker
|
149
149
|
|
150
150
|
if not row['tags'].nil?
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
151
|
+
tags = row['tags'].split(",")
|
152
|
+
tags.each do |tag|
|
153
|
+
organization.set_tag(tag)
|
154
|
+
end
|
155
155
|
end
|
156
156
|
|
157
157
|
person = GoImport::Person.new
|
@@ -166,17 +166,17 @@ def convert_source
|
|
166
166
|
organization.add_employee(person)
|
167
167
|
|
168
168
|
if row['description']
|
169
|
-
|
169
|
+
comment = GoImport::Comment.new()
|
170
170
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
171
|
+
comment.text = row['description']
|
172
|
+
comment.person = person
|
173
|
+
comment.organization = organization
|
174
|
+
comment.created_by = coworker
|
175
175
|
|
176
|
-
|
176
|
+
rootmodel.add_comment(comment)
|
177
177
|
end
|
178
178
|
rootmodel.add_organization(organization)
|
179
|
-
|
179
|
+
end
|
180
180
|
end
|
181
181
|
|
182
182
|
# deals
|
@@ -191,10 +191,10 @@ def convert_source
|
|
191
191
|
deal.customer_contact = rootmodel.find_person_by_integration_id(row['main_contact_id'])
|
192
192
|
deal.responsible_coworker = rootmodel.find_coworker_by_integration_id(row['owner'])
|
193
193
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
194
|
+
values = row['tags'].split(",")
|
195
|
+
values.each do |value|
|
196
|
+
deal.set_tag(value)
|
197
|
+
end
|
198
198
|
rootmodel.add_deal(deal)
|
199
199
|
end
|
200
200
|
end
|
@@ -202,30 +202,30 @@ def convert_source
|
|
202
202
|
# historys
|
203
203
|
if defined?(HISTORY_FILE) && !HISTORY_FILE.nil? && !HISTORY_FILE.empty?
|
204
204
|
process_rows(HISTORY_FILE, source_encoding) do |row|
|
205
|
-
history =
|
205
|
+
history = GoImport::Comment.new()
|
206
206
|
history.integration_id = row['id']
|
207
207
|
history.text = row['content']
|
208
208
|
history.created_by = rootmodel.find_coworker_by_integration_id(row["owner"])
|
209
209
|
notable_id = row['noteable_id']
|
210
210
|
case row["noteable_type"]
|
211
211
|
when "Deal"
|
212
|
-
|
213
|
-
|
212
|
+
deal = rootmodel.find_deal_by_integration_id(notable_id)
|
213
|
+
history.deal = deal
|
214
214
|
when "Lead"
|
215
|
-
|
216
|
-
|
215
|
+
history.person = rootmodel.find_person_by_integration_id("p#{notable_id}")
|
216
|
+
history.organization = rootmodel.find_organization_by_integration_id("l#{notable_id}")
|
217
217
|
when "Contact"
|
218
|
-
|
219
|
-
|
220
|
-
|
218
|
+
puts "Ignoreing history for unbound person: #{row['owner']}"
|
219
|
+
ignored_histories += 1
|
220
|
+
next
|
221
221
|
else
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
222
|
+
org = rootmodel.find_organization_by_integration_id(notable_id)
|
223
|
+
if org.nil?
|
224
|
+
person = rootmodel.find_person_by_integration_id(notable_id)
|
225
|
+
org = person.organization
|
226
|
+
history.person = person
|
227
|
+
end
|
228
|
+
history.organization = org
|
229
229
|
end
|
230
230
|
rootmodel.add_history(history)
|
231
231
|
end
|
@@ -35,13 +35,13 @@ class Converter
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def to_coworker(row)
|
38
|
-
|
38
|
+
coworker = GoImport::Coworker.new
|
39
39
|
# All built in fields are automagically mapped. Add your custom stuff here...
|
40
|
-
|
40
|
+
return coworker
|
41
41
|
end
|
42
42
|
|
43
43
|
def to_person(row, rootmodel)
|
44
|
-
|
44
|
+
person = GoImport::Person.new
|
45
45
|
# All built in fields are automagically mapped. Add your custom stuff here...
|
46
46
|
return person
|
47
47
|
end
|
@@ -53,10 +53,4 @@ class Converter
|
|
53
53
|
return deal
|
54
54
|
end
|
55
55
|
|
56
|
-
def to_history(row, rootmodel)
|
57
|
-
history = GoImport::History.new()
|
58
|
-
# All built in fields are automagically mapped. Add your custom stuff here...
|
59
|
-
return history
|
60
|
-
end
|
61
|
-
|
62
56
|
end
|
data/sources/csv/converter.rb
CHANGED
@@ -207,11 +207,11 @@ class Converter
|
|
207
207
|
# an organization if a field has a specific value
|
208
208
|
#def organization_hook(row, organization, rootmodel)
|
209
209
|
# if not row['fieldname'].empty?
|
210
|
-
#
|
211
|
-
#
|
212
|
-
#
|
213
|
-
#
|
214
|
-
# rootmodel.
|
210
|
+
# comment = GoImport::Comment.new
|
211
|
+
# comment.text = row['fieldname']
|
212
|
+
# comment.organization = organization
|
213
|
+
# comment.created_by = rootmodel.import_coworker
|
214
|
+
# rootmodel.add_comment(comment)
|
215
215
|
# end
|
216
216
|
#end
|
217
217
|
|
@@ -120,7 +120,7 @@ def convert_source
|
|
120
120
|
|
121
121
|
# histories must be owned by a coworker and the be added to
|
122
122
|
# organizations and histories and might refernce a person
|
123
|
-
if defined?(
|
123
|
+
if defined?(history_rows) && !history_rows.nil?
|
124
124
|
puts "Trying to convert history..."
|
125
125
|
history_rows.each do |row|
|
126
126
|
rootmodel.add_history(converter.to_history(row, rootmodel))
|
data/sources/excel/converter.rb
CHANGED
@@ -173,15 +173,15 @@ class Converter
|
|
173
173
|
# HOOKS
|
174
174
|
#
|
175
175
|
# Sometimes you need to add exra information to the rootmodel, this can be done
|
176
|
-
# with hooks, below is an example of an organization hook that adds a
|
176
|
+
# with hooks, below is an example of an organization hook that adds a comment to
|
177
177
|
# an organization if a field has a specific value
|
178
178
|
#def organization_hook(row, organization, rootmodel)
|
179
179
|
# if not row['fieldname'].empty?
|
180
|
-
#
|
181
|
-
#
|
182
|
-
#
|
183
|
-
#
|
184
|
-
# rootmodel.
|
180
|
+
# comment = GoImport::Comment.new
|
181
|
+
# comment.text = row['fieldname']
|
182
|
+
# comment.organization = organization
|
183
|
+
# comment.created_by = rootmodel.import_coworker
|
184
|
+
# rootmodel.add_comment(comment)
|
185
185
|
# end
|
186
186
|
#end
|
187
187
|
|
@@ -345,15 +345,15 @@ class Converter
|
|
345
345
|
# HOOKS
|
346
346
|
#
|
347
347
|
# Sometimes you need to add exra information to the rootmodel, this can be done
|
348
|
-
# with hooks, below is an example of an organization hook that adds a
|
348
|
+
# with hooks, below is an example of an organization hook that adds a comment to
|
349
349
|
# an organization if a field has a specific value
|
350
350
|
#def organization_hook(row, organization, rootmodel)
|
351
351
|
# if not row['fieldname'].empty?
|
352
|
-
#
|
353
|
-
#
|
354
|
-
#
|
355
|
-
#
|
356
|
-
# rootmodel.
|
352
|
+
# comment = GoImport::Comment.new
|
353
|
+
# comment.text = row['fieldname']
|
354
|
+
# comment.organization = organization
|
355
|
+
# comment.created_by = rootmodel.import_coworker
|
356
|
+
# rootmodel.add_comment(comment)
|
357
357
|
# end
|
358
358
|
#end
|
359
359
|
|
@@ -380,15 +380,15 @@ class Converter
|
|
380
380
|
# HOOKS
|
381
381
|
#
|
382
382
|
# Sometimes you need to add exra information to the rootmodel, this can be done
|
383
|
-
# with hooks, below is an example of an organization hook that adds a
|
383
|
+
# with hooks, below is an example of an organization hook that adds a comment to
|
384
384
|
# an organization if a field has a specific value
|
385
385
|
#def organization_hook(row, organization, rootmodel)
|
386
386
|
# if not row['fieldname'].empty?
|
387
|
-
#
|
388
|
-
#
|
389
|
-
#
|
390
|
-
#
|
391
|
-
# rootmodel.
|
387
|
+
# comment = GoImport::Comment.new
|
388
|
+
# comment.text = row['fieldname']
|
389
|
+
# comment.organization = organization
|
390
|
+
# comment.created_by = rootmodel.import_coworker
|
391
|
+
# rootmodel.add_comment(comment)
|
392
392
|
# end
|
393
393
|
#end
|
394
394
|
|
@@ -98,15 +98,15 @@ class Converter
|
|
98
98
|
# HOOKS
|
99
99
|
#
|
100
100
|
# Sometimes you need to add exra information to the rootmodel, this can be done
|
101
|
-
# with hooks, below is an example of an organization hook that adds a
|
101
|
+
# with hooks, below is an example of an organization hook that adds a comment to
|
102
102
|
# an organization if a field has a specific value
|
103
103
|
#def organization_hook(row, organization, rootmodel)
|
104
104
|
# if not row['fieldname'].empty?
|
105
|
-
#
|
106
|
-
#
|
107
|
-
#
|
108
|
-
#
|
109
|
-
# rootmodel.
|
105
|
+
# comment = GoImport::Comment.new
|
106
|
+
# comment.text = row['fieldname']
|
107
|
+
# comment.organization = organization
|
108
|
+
# comment.created_by = rootmodel.import_coworker
|
109
|
+
# rootmodel.add_comment(comment)
|
110
110
|
# end
|
111
111
|
#end
|
112
112
|
|
@@ -49,9 +49,9 @@ describe GoImport::ShardHelper do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
(1..10).each do |n|
|
52
|
-
|
53
|
-
|
54
|
-
model.
|
52
|
+
comment = GoImport::Comment.new
|
53
|
+
comment.text = "Important comment"
|
54
|
+
model.add_comment(comment)
|
55
55
|
end
|
56
56
|
|
57
57
|
(1..10).each do |n|
|
data/spec/rootmodel_spec.rb
CHANGED
@@ -305,74 +305,139 @@ describe "RootModel" do
|
|
305
305
|
}.to raise_error(GoImport::IntegrationIdIsRequiredError)
|
306
306
|
end
|
307
307
|
|
308
|
-
it "will
|
308
|
+
it "will add comment" do
|
309
|
+
# given
|
310
|
+
comment = GoImport::Comment.new
|
311
|
+
comment.text = "this is a comment"
|
312
|
+
|
313
|
+
# when
|
314
|
+
rootmodel.add_comment(comment)
|
315
|
+
|
316
|
+
# then
|
317
|
+
rootmodel.histories.length.should eq 1
|
318
|
+
rootmodel.histories["0"].is_a?(GoImport::Comment).should eq true
|
319
|
+
end
|
320
|
+
|
321
|
+
it "will add sales call" do
|
322
|
+
# given
|
323
|
+
salesCall = GoImport::SalesCall.new
|
324
|
+
salesCall.text = "this is a sales call"
|
325
|
+
|
326
|
+
# when
|
327
|
+
rootmodel.add_sales_call(salesCall)
|
328
|
+
|
329
|
+
# then
|
330
|
+
rootmodel.histories.length.should eq 1
|
331
|
+
rootmodel.histories["0"].is_a?(GoImport::SalesCall).should eq true
|
332
|
+
end
|
333
|
+
|
334
|
+
it "will add talked to" do
|
335
|
+
# given
|
336
|
+
talkedTo = GoImport::TalkedTo.new
|
337
|
+
talkedTo.text = "this is a sales call"
|
338
|
+
|
339
|
+
# when
|
340
|
+
rootmodel.add_talked_to(talkedTo)
|
341
|
+
|
342
|
+
# then
|
343
|
+
rootmodel.histories.length.should eq 1
|
344
|
+
rootmodel.histories["0"].is_a?(GoImport::TalkedTo).should eq true
|
345
|
+
end
|
346
|
+
|
347
|
+
it "will add tried to reach" do
|
348
|
+
# given
|
349
|
+
triedToReach = GoImport::TriedToReach.new
|
350
|
+
triedToReach.text = "this is a sales call"
|
351
|
+
|
352
|
+
# when
|
353
|
+
rootmodel.add_tried_to_reach(triedToReach)
|
354
|
+
|
355
|
+
# then
|
356
|
+
rootmodel.histories.length.should eq 1
|
357
|
+
rootmodel.histories["0"].is_a?(GoImport::TriedToReach).should eq true
|
358
|
+
end
|
359
|
+
|
360
|
+
it "will add client visit" do
|
361
|
+
# given
|
362
|
+
clientVisit = GoImport::ClientVisit.new
|
363
|
+
clientVisit.text = "this is a client visit"
|
364
|
+
|
365
|
+
# when
|
366
|
+
rootmodel.add_client_visit(clientVisit)
|
367
|
+
|
368
|
+
# then
|
369
|
+
rootmodel.histories.length.should eq 1
|
370
|
+
rootmodel.histories["0"].is_a?(GoImport::ClientVisit).should eq true
|
371
|
+
end
|
372
|
+
|
373
|
+
it "will only add comment" do
|
309
374
|
# given
|
310
|
-
|
375
|
+
not_a_comment = { :integration_id => "123", :text => "This is not a comment"}
|
311
376
|
|
312
377
|
# when, then
|
313
378
|
expect {
|
314
|
-
rootmodel.
|
379
|
+
rootmodel.add_comment(not_a_comment)
|
315
380
|
}.to raise_error(ArgumentError)
|
316
381
|
rootmodel.histories.length.should eq 0
|
317
382
|
end
|
318
383
|
|
319
|
-
it "will make
|
384
|
+
it "will make comment immutable after it has been added" do
|
320
385
|
# given
|
321
|
-
|
322
|
-
|
386
|
+
comment = GoImport::Comment.new
|
387
|
+
comment.text = "this is a comment"
|
323
388
|
|
324
389
|
# when
|
325
|
-
rootmodel.
|
390
|
+
rootmodel.add_comment(comment)
|
326
391
|
|
327
392
|
# then
|
328
|
-
|
393
|
+
comment.is_immutable.should eq true
|
329
394
|
end
|
330
395
|
|
331
|
-
it "can add a
|
396
|
+
it "can add a comment from a new comment" do
|
332
397
|
# given
|
333
|
-
|
334
|
-
|
335
|
-
|
398
|
+
comment = GoImport::Comment.new
|
399
|
+
comment.integration_id = "123key"
|
400
|
+
comment.text = "This is a comment"
|
336
401
|
|
337
402
|
# when
|
338
|
-
rootmodel.
|
403
|
+
rootmodel.add_comment(comment)
|
339
404
|
|
340
405
|
# then
|
341
|
-
rootmodel.find_history_by_integration_id("123key").text.should eq "This is a
|
406
|
+
rootmodel.find_history_by_integration_id("123key").text.should eq "This is a comment"
|
342
407
|
rootmodel.histories.length.should eq 1
|
343
408
|
end
|
344
409
|
|
345
|
-
it "will generate an integration id if the new
|
410
|
+
it "will generate an integration id if the new comment dont have one" do
|
346
411
|
# given
|
347
|
-
|
348
|
-
|
412
|
+
comment = GoImport::Comment.new
|
413
|
+
comment.text = "This is a comment"
|
349
414
|
|
350
415
|
# when
|
351
|
-
rootmodel.
|
416
|
+
rootmodel.add_comment(comment)
|
352
417
|
|
353
418
|
# then
|
354
|
-
|
419
|
+
comment.integration_id.length.should be > 0
|
355
420
|
end
|
356
421
|
|
357
422
|
it "will generate unique integration ids for each history" do
|
358
423
|
# given
|
359
|
-
|
360
|
-
|
424
|
+
comment1 = GoImport::Comment.new
|
425
|
+
comment1.text = "This is a history"
|
361
426
|
|
362
|
-
|
363
|
-
|
427
|
+
comment2 = GoImport::Comment.new
|
428
|
+
comment2.text = "This is a different history"
|
364
429
|
|
365
430
|
# when
|
366
|
-
rootmodel.
|
367
|
-
rootmodel.
|
431
|
+
rootmodel.add_comment(comment1)
|
432
|
+
rootmodel.add_comment(comment2)
|
368
433
|
|
369
434
|
# then
|
370
|
-
|
435
|
+
comment1.integration_id.should be != comment2.integration_id
|
371
436
|
end
|
372
437
|
|
373
438
|
it "will not add a nil history" do
|
374
439
|
# given, when
|
375
|
-
rootmodel.
|
440
|
+
rootmodel.add_comment(nil)
|
376
441
|
|
377
442
|
# then
|
378
443
|
rootmodel.histories.length.should eq 0
|
@@ -431,25 +496,25 @@ describe "RootModel" do
|
|
431
496
|
rootmodel.documents.files.length.should eq 1
|
432
497
|
end
|
433
498
|
|
434
|
-
it "will not add a new
|
499
|
+
it "will not add a new comment when the comment is already added (same integration id)" do
|
435
500
|
# given
|
436
|
-
|
501
|
+
comment = GoImport::Comment.new({
|
437
502
|
:integration_id => "123key",
|
438
|
-
:text => "This is a
|
503
|
+
:text => "This is a comment"
|
439
504
|
})
|
440
|
-
rootmodel.
|
505
|
+
rootmodel.add_comment(comment)
|
441
506
|
rootmodel.histories.length.should eq 1
|
442
507
|
|
443
508
|
# when, then
|
444
|
-
|
509
|
+
comment2 = GoImport::Comment.new({
|
445
510
|
:integration_id => "123key",
|
446
|
-
:text => "This is another
|
511
|
+
:text => "This is another comment"
|
447
512
|
})
|
448
513
|
expect {
|
449
|
-
rootmodel.
|
514
|
+
rootmodel.add_comment(comment2)
|
450
515
|
}.to raise_error(GoImport::AlreadyAddedError)
|
451
516
|
rootmodel.histories.length.should eq 1
|
452
|
-
rootmodel.find_history_by_integration_id("123key").text.should eq "This is a
|
517
|
+
rootmodel.find_history_by_integration_id("123key").text.should eq "This is a comment"
|
453
518
|
end
|
454
519
|
|
455
520
|
it "Will find a person by integration id" do
|
@@ -674,23 +739,23 @@ describe "RootModel" do
|
|
674
739
|
result.should eq nil
|
675
740
|
end
|
676
741
|
|
677
|
-
it "will find an
|
742
|
+
it "will find an comment based on a property" do
|
678
743
|
# given
|
679
744
|
organization = GoImport::Organization.new
|
680
745
|
organization.name = "Hubba Bubba"
|
681
746
|
organization.integration_id = "321"
|
682
747
|
rootmodel.add_organization(organization)
|
683
748
|
|
684
|
-
|
685
|
-
|
686
|
-
|
749
|
+
comment = GoImport::Comment.new
|
750
|
+
comment.text = "Hello!"
|
751
|
+
comment.organization = organization
|
687
752
|
|
688
|
-
rootmodel.
|
753
|
+
rootmodel.add_comment(comment)
|
689
754
|
# when
|
690
755
|
result = rootmodel.find_history{|n| n.text == "Hello!"}
|
691
756
|
|
692
757
|
# then
|
693
|
-
result.should eq
|
758
|
+
result.should eq comment
|
694
759
|
end
|
695
760
|
|
696
761
|
it "will return nil if it doesn't find a history on a property" do
|
@@ -700,11 +765,11 @@ describe "RootModel" do
|
|
700
765
|
organization.integration_id = "321"
|
701
766
|
rootmodel.add_organization(organization)
|
702
767
|
|
703
|
-
|
704
|
-
|
705
|
-
|
768
|
+
comment = GoImport::Comment.new
|
769
|
+
comment.text = "Hello!"
|
770
|
+
comment.organization = organization
|
706
771
|
|
707
|
-
rootmodel.
|
772
|
+
rootmodel.add_comment(comment)
|
708
773
|
# when
|
709
774
|
result = rootmodel.find_history{|n| n.text == "Goodbye!"}
|
710
775
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: go_import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Petter Sandholdt
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2016-
|
16
|
+
date: 2016-08-22 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: iso_country_codes
|
@@ -187,6 +187,8 @@ files:
|
|
187
187
|
- lib/go_import/global_phone.json
|
188
188
|
- lib/go_import/model/address.rb
|
189
189
|
- lib/go_import/model/class_settings.rb
|
190
|
+
- lib/go_import/model/clientvisit.rb
|
191
|
+
- lib/go_import/model/comment.rb
|
190
192
|
- lib/go_import/model/coworker.rb
|
191
193
|
- lib/go_import/model/coworker_reference.rb
|
192
194
|
- lib/go_import/model/customfield.rb
|
@@ -206,8 +208,11 @@ files:
|
|
206
208
|
- lib/go_import/model/referencetosource.rb
|
207
209
|
- lib/go_import/model/relation.rb
|
208
210
|
- lib/go_import/model/rootmodel.rb
|
211
|
+
- lib/go_import/model/salescall.rb
|
209
212
|
- lib/go_import/model/settings.rb
|
210
213
|
- lib/go_import/model/tag.rb
|
214
|
+
- lib/go_import/model/talkedto.rb
|
215
|
+
- lib/go_import/model/triedtoreach.rb
|
211
216
|
- lib/go_import/model_helpers.rb
|
212
217
|
- lib/go_import/phone_helper.rb
|
213
218
|
- lib/go_import/roo_helper.rb
|
@@ -311,7 +316,9 @@ files:
|
|
311
316
|
homepage:
|
312
317
|
licenses: []
|
313
318
|
metadata: {}
|
314
|
-
post_install_message:
|
319
|
+
post_install_message: |
|
320
|
+
! The 'go-import' gem has been deprecated and has been replaced by 'move-to-go'.
|
321
|
+
! See: https://rubygems.org/gems/move-to-go
|
315
322
|
rdoc_options: []
|
316
323
|
require_paths:
|
317
324
|
- lib
|
@@ -327,7 +334,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
327
334
|
version: '0'
|
328
335
|
requirements: []
|
329
336
|
rubyforge_project:
|
330
|
-
rubygems_version: 2.
|
337
|
+
rubygems_version: 2.2.3
|
331
338
|
signing_key:
|
332
339
|
specification_version: 4
|
333
340
|
summary: Tool to generate Lime Go zip import files
|