go_import 3.0.42 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/go-import +2 -1
- data/lib/go_import/errors.rb +2 -2
- data/lib/go_import/model/deal_status.rb +2 -2
- data/lib/go_import/model/{note.rb → history.rb} +17 -13
- data/lib/go_import/model/{note_classification.rb → history_classification.rb} +8 -8
- data/lib/go_import/model/rootmodel.rb +39 -41
- data/lib/go_import/serialize_helper.rb +4 -4
- data/lib/go_import/shard_helper.rb +3 -3
- data/lib/go_import.rb +13 -13
- data/sources/VISMA/.go_import/readme.txt +1 -1
- data/sources/VISMA/.go_import/runner.rb +8 -8
- data/sources/VISMA/converter.rb +15 -14
- data/sources/base-crm/.go_import/runner.rb +24 -24
- data/sources/base-crm/converter.rb +3 -3
- data/sources/base-crm/data/{notes.csv → histories.csv} +0 -0
- data/sources/csv/converter.rb +6 -6
- data/sources/excel/.go_import/runner.rb +11 -11
- data/sources/excel/converter.rb +15 -15
- data/sources/excel-basic/.go_import/runner.rb +11 -11
- data/sources/excel-basic/converter.rb +9 -9
- data/sources/lime-easy/.go_import/runner.rb +40 -40
- data/sources/lime-easy/converter.rb +22 -22
- data/sources/lime-pro-basic/.go_import/runner.rb +19 -19
- data/sources/lime-pro-basic/converter.rb +22 -22
- data/sources/salesforce/.go_import/runner.rb +10 -10
- data/sources/salesforce/converter.rb +6 -6
- data/spec/helpers/serialize_helper_spec.rb +6 -6
- data/spec/helpers/shard_helper_spec.rb +3 -3
- data/spec/history_spec.rb +150 -0
- data/spec/rootmodel_spec.rb +56 -56
- metadata +7 -7
- data/spec/note_spec.rb +0 -150
@@ -3,9 +3,9 @@ require 'go_import'
|
|
3
3
|
|
4
4
|
describe GoImport::SerializeHelper do
|
5
5
|
|
6
|
-
describe "Serialize
|
6
|
+
describe "Serialize history" do
|
7
7
|
let(:serialized) {
|
8
|
-
n = GoImport::
|
8
|
+
n = GoImport::History.new
|
9
9
|
n.text = "text"
|
10
10
|
GoImport::SerializeHelper::serialize(n,-1)
|
11
11
|
}
|
@@ -13,16 +13,16 @@ describe GoImport::SerializeHelper do
|
|
13
13
|
serialized.should match(/<Text>[\n ]*text[\n ]*<\/Text>/)
|
14
14
|
end
|
15
15
|
it "should contain start tag" do
|
16
|
-
serialized.should match(/<
|
16
|
+
serialized.should match(/<History>/)
|
17
17
|
end
|
18
18
|
it "should be utf-8" do
|
19
19
|
serialized.encoding.should equal Encoding::UTF_8
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
describe "Serialize
|
23
|
+
describe "Serialize history with xml inside" do
|
24
24
|
let(:serialized) {
|
25
|
-
n = GoImport::
|
25
|
+
n = GoImport::History.new
|
26
26
|
n.text = "<text>"
|
27
27
|
GoImport::SerializeHelper::serialize(n,-1)
|
28
28
|
}
|
@@ -192,7 +192,7 @@ describe GoImport::SerializeHelper do
|
|
192
192
|
serialized.should match(/Ankeborgs bibliotek/)
|
193
193
|
end
|
194
194
|
it "should have version" do
|
195
|
-
serialized.should match(/<GoImport Version='
|
195
|
+
serialized.should match(/<GoImport Version='v3_0'/)
|
196
196
|
end
|
197
197
|
it "should be utf-8" do
|
198
198
|
serialized.encoding.should equal Encoding::UTF_8
|
@@ -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
|
+
history = GoImport::History.new
|
53
|
+
history.text = "Important history"
|
54
|
+
model.add_history(history)
|
55
55
|
end
|
56
56
|
|
57
57
|
(1..10).each do |n|
|
@@ -0,0 +1,150 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require 'go_import'
|
3
|
+
|
4
|
+
describe "History" do
|
5
|
+
let("history") {
|
6
|
+
GoImport::History.new
|
7
|
+
}
|
8
|
+
|
9
|
+
it "must have a text" do
|
10
|
+
history.validate.length.should be > 0
|
11
|
+
end
|
12
|
+
|
13
|
+
it "is valid when it has text, created_by and organization" do
|
14
|
+
# given
|
15
|
+
history.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
16
|
+
history.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
17
|
+
history.organization = GoImport::Organization.new({ :integration_id => "456", :heading => "Lundalogik" })
|
18
|
+
|
19
|
+
# when, then
|
20
|
+
history.validate.should eq ""
|
21
|
+
end
|
22
|
+
|
23
|
+
it "is valid when it has text, created_by and person" do
|
24
|
+
# given
|
25
|
+
history.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
26
|
+
history.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
27
|
+
history.person = GoImport::Person.new({ :integration_id => "456", :heading => "Billy Bob" })
|
28
|
+
|
29
|
+
# when, then
|
30
|
+
history.validate.should eq ""
|
31
|
+
end
|
32
|
+
|
33
|
+
it "is valid when it has text, created_by and deal" do
|
34
|
+
# given
|
35
|
+
history.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
36
|
+
history.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
37
|
+
history.deal = GoImport::Deal.new({ :integration_id => "456", :heading => "The new deal" })
|
38
|
+
|
39
|
+
# when, then
|
40
|
+
history.validate.should eq ""
|
41
|
+
end
|
42
|
+
|
43
|
+
it "is invalid if no history has no attached objects" do
|
44
|
+
# given
|
45
|
+
history.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
46
|
+
history.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
47
|
+
|
48
|
+
# when, then
|
49
|
+
history.validate.length.should be > 0
|
50
|
+
end
|
51
|
+
|
52
|
+
it "will set organization ref when organization is assigned" do
|
53
|
+
# given
|
54
|
+
org = GoImport::Organization.new({:integration_id => "123", :name => "Beagle Boys!"})
|
55
|
+
|
56
|
+
# when
|
57
|
+
history.organization = org
|
58
|
+
|
59
|
+
# then
|
60
|
+
history.organization.is_a?(GoImport::Organization).should eq true
|
61
|
+
history.instance_variable_get(:@organization_reference).is_a?(GoImport::OrganizationReference).should eq true
|
62
|
+
end
|
63
|
+
|
64
|
+
it "will set person ref when person is assigned" do
|
65
|
+
# given
|
66
|
+
person = GoImport::Person.new({:integration_id => "123" })
|
67
|
+
person.parse_name_to_firstname_lastname_se "Billy Bob"
|
68
|
+
|
69
|
+
# when
|
70
|
+
history.person = person
|
71
|
+
|
72
|
+
# then
|
73
|
+
history.person.is_a?(GoImport::Person).should eq true
|
74
|
+
history.instance_variable_get(:@person_reference).is_a?(GoImport::PersonReference).should eq true
|
75
|
+
end
|
76
|
+
|
77
|
+
it "will set coworker ref when coworker is assigned" do
|
78
|
+
# given
|
79
|
+
coworker = GoImport::Coworker.new({:integration_id => "123" })
|
80
|
+
coworker.parse_name_to_firstname_lastname_se "Billy Bob"
|
81
|
+
|
82
|
+
# when
|
83
|
+
history.created_by = coworker
|
84
|
+
|
85
|
+
# then
|
86
|
+
history.created_by.is_a?(GoImport::Coworker).should eq true
|
87
|
+
history.instance_variable_get(:@created_by_reference).is_a?(GoImport::CoworkerReference).should eq true
|
88
|
+
end
|
89
|
+
|
90
|
+
it "will set deal ref when deal is assigned" do
|
91
|
+
# given
|
92
|
+
deal = GoImport::Deal.new({:integration_id => "123" })
|
93
|
+
deal.name = "The new deal"
|
94
|
+
|
95
|
+
# when
|
96
|
+
history.deal = deal
|
97
|
+
|
98
|
+
# then
|
99
|
+
history.deal.is_a?(GoImport::Deal).should eq true
|
100
|
+
history.instance_variable_get(:@deal_reference).is_a?(GoImport::DealReference).should eq true
|
101
|
+
end
|
102
|
+
|
103
|
+
it "should have Comment as default classification" do
|
104
|
+
# then
|
105
|
+
history.classification.should eq GoImport::HistoryClassification::Comment
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should not accept invalid classifications" do
|
109
|
+
# when, then
|
110
|
+
expect {
|
111
|
+
history.classification = "hubbabubba"
|
112
|
+
}.to raise_error(GoImport::InvalidHistoryClassificationError)
|
113
|
+
end
|
114
|
+
|
115
|
+
it "should remove form feed from text" do
|
116
|
+
# given
|
117
|
+
textWithFormFeed = "Text with form feed"
|
118
|
+
textWithoutFormFeed = "Text with form feed"
|
119
|
+
|
120
|
+
# when
|
121
|
+
history.text = textWithFormFeed
|
122
|
+
|
123
|
+
# then
|
124
|
+
history.text.should eq textWithoutFormFeed
|
125
|
+
end
|
126
|
+
|
127
|
+
it "should remove vertical tab from text" do
|
128
|
+
# given
|
129
|
+
textWithVerticalTab = "Text with \vvertical tab"
|
130
|
+
textWithoutVerticalTab = "Text with vertical tab"
|
131
|
+
|
132
|
+
# when
|
133
|
+
history.text = textWithVerticalTab
|
134
|
+
|
135
|
+
# then
|
136
|
+
history.text.should eq textWithoutVerticalTab
|
137
|
+
end
|
138
|
+
|
139
|
+
it "should remove backspace from text" do
|
140
|
+
# given
|
141
|
+
textWithBackSpace = "Text with \bbackspace"
|
142
|
+
textWithoutBackSpace = "Text with backspace"
|
143
|
+
|
144
|
+
# when
|
145
|
+
history.text = textWithBackSpace
|
146
|
+
|
147
|
+
# then
|
148
|
+
history.text.should eq textWithoutBackSpace
|
149
|
+
end
|
150
|
+
end
|
data/spec/rootmodel_spec.rb
CHANGED
@@ -107,7 +107,7 @@ describe "RootModel" do
|
|
107
107
|
|
108
108
|
it "will only add organizations" do
|
109
109
|
# given
|
110
|
-
not_an_organization = { :integration_id => "123", :name => "This is not a
|
110
|
+
not_an_organization = { :integration_id => "123", :name => "This is not a history"}
|
111
111
|
|
112
112
|
# when, then
|
113
113
|
expect {
|
@@ -305,77 +305,77 @@ describe "RootModel" do
|
|
305
305
|
}.to raise_error(GoImport::IntegrationIdIsRequiredError)
|
306
306
|
end
|
307
307
|
|
308
|
-
it "will only add
|
308
|
+
it "will only add history" do
|
309
309
|
# given
|
310
|
-
|
310
|
+
not_a_history = { :integration_id => "123", :text => "This is not a history"}
|
311
311
|
|
312
312
|
# when, then
|
313
313
|
expect {
|
314
|
-
rootmodel.
|
314
|
+
rootmodel.add_history(not_a_history)
|
315
315
|
}.to raise_error(ArgumentError)
|
316
|
-
rootmodel.
|
316
|
+
rootmodel.histories.length.should eq 0
|
317
317
|
end
|
318
318
|
|
319
|
-
it "will make
|
319
|
+
it "will make history immutable after it has been added" do
|
320
320
|
# given
|
321
|
-
|
322
|
-
|
321
|
+
history = GoImport::History.new
|
322
|
+
history.text = "this is a history"
|
323
323
|
|
324
324
|
# when
|
325
|
-
rootmodel.
|
325
|
+
rootmodel.add_history(history)
|
326
326
|
|
327
327
|
# then
|
328
|
-
|
328
|
+
history.is_immutable.should eq true
|
329
329
|
end
|
330
330
|
|
331
|
-
it "can add a
|
331
|
+
it "can add a history from a new history" do
|
332
332
|
# given
|
333
|
-
|
334
|
-
|
335
|
-
|
333
|
+
history = GoImport::History.new
|
334
|
+
history.integration_id = "123key"
|
335
|
+
history.text = "This is a history"
|
336
336
|
|
337
337
|
# when
|
338
|
-
rootmodel.
|
338
|
+
rootmodel.add_history(history)
|
339
339
|
|
340
340
|
# then
|
341
|
-
rootmodel.
|
342
|
-
rootmodel.
|
341
|
+
rootmodel.find_history_by_integration_id("123key").text.should eq "This is a history"
|
342
|
+
rootmodel.histories.length.should eq 1
|
343
343
|
end
|
344
344
|
|
345
|
-
it "will generate an integration id if the new
|
345
|
+
it "will generate an integration id if the new history dont have one" do
|
346
346
|
# given
|
347
|
-
|
348
|
-
|
347
|
+
history = GoImport::History.new
|
348
|
+
history.text = "This is a history"
|
349
349
|
|
350
350
|
# when
|
351
|
-
rootmodel.
|
351
|
+
rootmodel.add_history(history)
|
352
352
|
|
353
353
|
# then
|
354
|
-
|
354
|
+
history.integration_id.length.should be > 0
|
355
355
|
end
|
356
356
|
|
357
|
-
it "will generate unique integration ids for each
|
357
|
+
it "will generate unique integration ids for each history" do
|
358
358
|
# given
|
359
|
-
|
360
|
-
|
359
|
+
history1 = GoImport::History.new
|
360
|
+
history1.text = "This is a history"
|
361
361
|
|
362
|
-
|
363
|
-
|
362
|
+
history2 = GoImport::History.new
|
363
|
+
history2.text = "This is a different history"
|
364
364
|
|
365
365
|
# when
|
366
|
-
rootmodel.
|
367
|
-
rootmodel.
|
366
|
+
rootmodel.add_history history1
|
367
|
+
rootmodel.add_history history2
|
368
368
|
|
369
369
|
# then
|
370
|
-
|
370
|
+
history1.integration_id.should be != history2.integration_id
|
371
371
|
end
|
372
372
|
|
373
|
-
it "will not add a nil
|
373
|
+
it "will not add a nil history" do
|
374
374
|
# given, when
|
375
|
-
rootmodel.
|
375
|
+
rootmodel.add_history(nil)
|
376
376
|
|
377
377
|
# then
|
378
|
-
rootmodel.
|
378
|
+
rootmodel.histories.length.should eq 0
|
379
379
|
end
|
380
380
|
|
381
381
|
it "will not add a nil organization" do
|
@@ -431,25 +431,25 @@ describe "RootModel" do
|
|
431
431
|
rootmodel.documents.files.length.should eq 1
|
432
432
|
end
|
433
433
|
|
434
|
-
it "will not add a new
|
434
|
+
it "will not add a new history when the history is already added (same integration id)" do
|
435
435
|
# given
|
436
|
-
|
436
|
+
history = GoImport::History.new({
|
437
437
|
:integration_id => "123key",
|
438
|
-
:text => "This is a
|
438
|
+
:text => "This is a history"
|
439
439
|
})
|
440
|
-
rootmodel.
|
441
|
-
rootmodel.
|
440
|
+
rootmodel.add_history(history)
|
441
|
+
rootmodel.histories.length.should eq 1
|
442
442
|
|
443
443
|
# when, then
|
444
|
-
|
444
|
+
history2 = GoImport::History.new({
|
445
445
|
:integration_id => "123key",
|
446
|
-
:text => "This is another
|
446
|
+
:text => "This is another history"
|
447
447
|
})
|
448
448
|
expect {
|
449
|
-
rootmodel.
|
449
|
+
rootmodel.add_history(history2)
|
450
450
|
}.to raise_error(GoImport::AlreadyAddedError)
|
451
|
-
rootmodel.
|
452
|
-
rootmodel.
|
451
|
+
rootmodel.histories.length.should eq 1
|
452
|
+
rootmodel.find_history_by_integration_id("123key").text.should eq "This is a history"
|
453
453
|
end
|
454
454
|
|
455
455
|
it "Will find a person by integration id" do
|
@@ -674,39 +674,39 @@ describe "RootModel" do
|
|
674
674
|
result.should eq nil
|
675
675
|
end
|
676
676
|
|
677
|
-
it "will find an
|
677
|
+
it "will find an history based on a property" do
|
678
678
|
# given
|
679
679
|
organization = GoImport::Organization.new
|
680
680
|
organization.name = "Hubba Bubba"
|
681
681
|
organization.integration_id = "321"
|
682
682
|
rootmodel.add_organization(organization)
|
683
683
|
|
684
|
-
|
685
|
-
|
686
|
-
|
684
|
+
history = GoImport::History.new
|
685
|
+
history.text = "Hello!"
|
686
|
+
history.organization = organization
|
687
687
|
|
688
|
-
rootmodel.
|
688
|
+
rootmodel.add_history(history)
|
689
689
|
# when
|
690
|
-
result = rootmodel.
|
690
|
+
result = rootmodel.find_history{|n| n.text == "Hello!"}
|
691
691
|
|
692
692
|
# then
|
693
|
-
result.should eq
|
693
|
+
result.should eq history
|
694
694
|
end
|
695
695
|
|
696
|
-
it "will return nil if it doesn't find a
|
696
|
+
it "will return nil if it doesn't find a history on a property" do
|
697
697
|
# given
|
698
698
|
organization = GoImport::Organization.new
|
699
699
|
organization.name = "Hubba Bubba"
|
700
700
|
organization.integration_id = "321"
|
701
701
|
rootmodel.add_organization(organization)
|
702
702
|
|
703
|
-
|
704
|
-
|
705
|
-
|
703
|
+
history = GoImport::History.new
|
704
|
+
history.text = "Hello!"
|
705
|
+
history.organization = organization
|
706
706
|
|
707
|
-
rootmodel.
|
707
|
+
rootmodel.add_history(history)
|
708
708
|
# when
|
709
|
-
result = rootmodel.
|
709
|
+
result = rootmodel.find_history{|n| n.text == "Goodbye!"}
|
710
710
|
|
711
711
|
# then
|
712
712
|
result.should eq nil
|
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
|
+
version: 4.0.0
|
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-05-
|
16
|
+
date: 2016-05-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: iso_country_codes
|
@@ -198,9 +198,9 @@ files:
|
|
198
198
|
- lib/go_import/model/deal_status_setting.rb
|
199
199
|
- lib/go_import/model/documents.rb
|
200
200
|
- lib/go_import/model/file.rb
|
201
|
+
- lib/go_import/model/history.rb
|
202
|
+
- lib/go_import/model/history_classification.rb
|
201
203
|
- lib/go_import/model/link.rb
|
202
|
-
- lib/go_import/model/note.rb
|
203
|
-
- lib/go_import/model/note_classification.rb
|
204
204
|
- lib/go_import/model/organization.rb
|
205
205
|
- lib/go_import/model/person.rb
|
206
206
|
- lib/go_import/model/referencetosource.rb
|
@@ -229,8 +229,8 @@ files:
|
|
229
229
|
- sources/base-crm/data/contacts.csv
|
230
230
|
- sources/base-crm/data/coworkers.csv
|
231
231
|
- sources/base-crm/data/deals.csv
|
232
|
+
- sources/base-crm/data/histories.csv
|
232
233
|
- sources/base-crm/data/leads.csv
|
233
|
-
- sources/base-crm/data/notes.csv
|
234
234
|
- sources/base-crm/data/tasks.csv
|
235
235
|
- sources/csv/.gitignore
|
236
236
|
- sources/csv/.go_import/readme.txt
|
@@ -302,8 +302,8 @@ files:
|
|
302
302
|
- spec/helpers/serialize_helper_spec.rb
|
303
303
|
- spec/helpers/shard_helper_spec.rb
|
304
304
|
- spec/helpers/xsd_validate_spec.rb
|
305
|
+
- spec/history_spec.rb
|
305
306
|
- spec/link_spec.rb
|
306
|
-
- spec/note_spec.rb
|
307
307
|
- spec/organization_spec.rb
|
308
308
|
- spec/person_spec.rb
|
309
309
|
- spec/rootmodel_spec.rb
|
@@ -348,8 +348,8 @@ test_files:
|
|
348
348
|
- spec/helpers/serialize_helper_spec.rb
|
349
349
|
- spec/helpers/shard_helper_spec.rb
|
350
350
|
- spec/helpers/xsd_validate_spec.rb
|
351
|
+
- spec/history_spec.rb
|
351
352
|
- spec/link_spec.rb
|
352
|
-
- spec/note_spec.rb
|
353
353
|
- spec/organization_spec.rb
|
354
354
|
- spec/person_spec.rb
|
355
355
|
- spec/rootmodel_spec.rb
|
data/spec/note_spec.rb
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
require 'go_import'
|
3
|
-
|
4
|
-
describe "Note" do
|
5
|
-
let("note") {
|
6
|
-
GoImport::Note.new
|
7
|
-
}
|
8
|
-
|
9
|
-
it "must have a text" do
|
10
|
-
note.validate.length.should be > 0
|
11
|
-
end
|
12
|
-
|
13
|
-
it "is valid when it has text, created_by and organization" do
|
14
|
-
# given
|
15
|
-
note.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
16
|
-
note.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
17
|
-
note.organization = GoImport::Organization.new({ :integration_id => "456", :heading => "Lundalogik" })
|
18
|
-
|
19
|
-
# when, then
|
20
|
-
note.validate.should eq ""
|
21
|
-
end
|
22
|
-
|
23
|
-
it "is valid when it has text, created_by and person" do
|
24
|
-
# given
|
25
|
-
note.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
26
|
-
note.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
27
|
-
note.person = GoImport::Person.new({ :integration_id => "456", :heading => "Billy Bob" })
|
28
|
-
|
29
|
-
# when, then
|
30
|
-
note.validate.should eq ""
|
31
|
-
end
|
32
|
-
|
33
|
-
it "is valid when it has text, created_by and deal" do
|
34
|
-
# given
|
35
|
-
note.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
36
|
-
note.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
37
|
-
note.deal = GoImport::Deal.new({ :integration_id => "456", :heading => "The new deal" })
|
38
|
-
|
39
|
-
# when, then
|
40
|
-
note.validate.should eq ""
|
41
|
-
end
|
42
|
-
|
43
|
-
it "is invalid if no note has no attached objects" do
|
44
|
-
# given
|
45
|
-
note.text = "They are very interested in the new deal (the one where you get a free bike as a gift)"
|
46
|
-
note.created_by = GoImport::Coworker.new( { :integration_id => "123", :heading => "kalle anka" } )
|
47
|
-
|
48
|
-
# when, then
|
49
|
-
note.validate.length.should be > 0
|
50
|
-
end
|
51
|
-
|
52
|
-
it "will set organization ref when organization is assigned" do
|
53
|
-
# given
|
54
|
-
org = GoImport::Organization.new({:integration_id => "123", :name => "Beagle Boys!"})
|
55
|
-
|
56
|
-
# when
|
57
|
-
note.organization = org
|
58
|
-
|
59
|
-
# then
|
60
|
-
note.organization.is_a?(GoImport::Organization).should eq true
|
61
|
-
note.instance_variable_get(:@organization_reference).is_a?(GoImport::OrganizationReference).should eq true
|
62
|
-
end
|
63
|
-
|
64
|
-
it "will set person ref when person is assigned" do
|
65
|
-
# given
|
66
|
-
person = GoImport::Person.new({:integration_id => "123" })
|
67
|
-
person.parse_name_to_firstname_lastname_se "Billy Bob"
|
68
|
-
|
69
|
-
# when
|
70
|
-
note.person = person
|
71
|
-
|
72
|
-
# then
|
73
|
-
note.person.is_a?(GoImport::Person).should eq true
|
74
|
-
note.instance_variable_get(:@person_reference).is_a?(GoImport::PersonReference).should eq true
|
75
|
-
end
|
76
|
-
|
77
|
-
it "will set coworker ref when coworker is assigned" do
|
78
|
-
# given
|
79
|
-
coworker = GoImport::Coworker.new({:integration_id => "123" })
|
80
|
-
coworker.parse_name_to_firstname_lastname_se "Billy Bob"
|
81
|
-
|
82
|
-
# when
|
83
|
-
note.created_by = coworker
|
84
|
-
|
85
|
-
# then
|
86
|
-
note.created_by.is_a?(GoImport::Coworker).should eq true
|
87
|
-
note.instance_variable_get(:@created_by_reference).is_a?(GoImport::CoworkerReference).should eq true
|
88
|
-
end
|
89
|
-
|
90
|
-
it "will set deal ref when deal is assigned" do
|
91
|
-
# given
|
92
|
-
deal = GoImport::Deal.new({:integration_id => "123" })
|
93
|
-
deal.name = "The new deal"
|
94
|
-
|
95
|
-
# when
|
96
|
-
note.deal = deal
|
97
|
-
|
98
|
-
# then
|
99
|
-
note.deal.is_a?(GoImport::Deal).should eq true
|
100
|
-
note.instance_variable_get(:@deal_reference).is_a?(GoImport::DealReference).should eq true
|
101
|
-
end
|
102
|
-
|
103
|
-
it "should have Comment as default classification" do
|
104
|
-
# then
|
105
|
-
note.classification.should eq GoImport::NoteClassification::Comment
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should not accept invalid classifications" do
|
109
|
-
# when, then
|
110
|
-
expect {
|
111
|
-
note.classification = "hubbabubba"
|
112
|
-
}.to raise_error(GoImport::InvalidNoteClassificationError)
|
113
|
-
end
|
114
|
-
|
115
|
-
it "should remove form feed from text" do
|
116
|
-
# given
|
117
|
-
textWithFormFeed = "Text with form feed"
|
118
|
-
textWithoutFormFeed = "Text with form feed"
|
119
|
-
|
120
|
-
# when
|
121
|
-
note.text = textWithFormFeed
|
122
|
-
|
123
|
-
# then
|
124
|
-
note.text.should eq textWithoutFormFeed
|
125
|
-
end
|
126
|
-
|
127
|
-
it "should remove vertical tab from text" do
|
128
|
-
# given
|
129
|
-
textWithVerticalTab = "Text with \vvertical tab"
|
130
|
-
textWithoutVerticalTab = "Text with vertical tab"
|
131
|
-
|
132
|
-
# when
|
133
|
-
note.text = textWithVerticalTab
|
134
|
-
|
135
|
-
# then
|
136
|
-
note.text.should eq textWithoutVerticalTab
|
137
|
-
end
|
138
|
-
|
139
|
-
it "should remove backspace from text" do
|
140
|
-
# given
|
141
|
-
textWithBackSpace = "Text with \bbackspace"
|
142
|
-
textWithoutBackSpace = "Text with backspace"
|
143
|
-
|
144
|
-
# when
|
145
|
-
note.text = textWithBackSpace
|
146
|
-
|
147
|
-
# then
|
148
|
-
note.text.should eq textWithoutBackSpace
|
149
|
-
end
|
150
|
-
end
|