restforce-db 2.7.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -0
- data/lib/generators/templates/script +102 -3
- data/lib/restforce/db/instances/active_record.rb +20 -9
- data/lib/restforce/db/instances/salesforce.rb +0 -8
- data/lib/restforce/db/record_types/salesforce.rb +17 -5
- data/lib/restforce/db/version.rb +1 -1
- data/test/cassettes/Restforce_DB_Initializer/_run/given_an_existing_database_record/for_an_Always_strategy/populates_Salesforce_with_the_new_record.yml +56 -56
- data/test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_an_unsynchronized_record_for_a_mapped_model/creates_a_matching_record_in_Salesforce.yml +49 -49
- data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/creates_a_record_in_Salesforce_from_the_passed_database_record_s_attributes.yml +41 -41
- data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/updates_the_database_record_with_the_Salesforce_record_s_ID.yml +41 -41
- data/test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/when_a_Salesforce_record_already_exists_for_the_database_instance/uses_the_existing_record.yml +247 -0
- data/test/cassettes/Restforce_DB_Worker/a_race_condition_during_synchronization/does_not_change_the_user-entered_name_on_the_database_record.yml +106 -107
- data/test/cassettes/Restforce_DB_Worker/a_race_condition_during_synchronization/overrides_the_stale-but-more-recent_name_on_the_Salesforce.yml +114 -115
- data/test/lib/restforce/db/instances/active_record_test.rb +9 -2
- data/test/lib/restforce/db/record_types/salesforce_test.rb +14 -4
- metadata +3 -2
@@ -14,8 +14,8 @@ describe Restforce::DB::Instances::ActiveRecord do
|
|
14
14
|
|
15
15
|
describe "when the record has no synchronized Salesforce ID" do
|
16
16
|
|
17
|
-
it "returns the record's
|
18
|
-
expect(instance.id).to_equal
|
17
|
+
it "returns the record's UUID" do
|
18
|
+
expect(instance.id).to_equal instance.uuid
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -31,6 +31,13 @@ describe Restforce::DB::Instances::ActiveRecord do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
describe "#uuid" do
|
35
|
+
|
36
|
+
it "returns the record's ID" do
|
37
|
+
expect(instance.uuid).to_equal "CustomObject::#{record.id}"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
34
41
|
describe "#update!" do
|
35
42
|
let(:text) { "Some new text" }
|
36
43
|
|
@@ -17,18 +17,28 @@ describe Restforce::DB::RecordTypes::Salesforce do
|
|
17
17
|
let(:sync_from) { Restforce::DB::Instances::ActiveRecord.new(database_model, database_record, mapping) }
|
18
18
|
let(:instance) { record_type.create!(sync_from).record }
|
19
19
|
|
20
|
-
before do
|
21
|
-
Salesforce.records << [salesforce_model, instance.Id]
|
22
|
-
end
|
23
|
-
|
24
20
|
it "creates a record in Salesforce from the passed database record's attributes" do
|
21
|
+
Salesforce.records << [salesforce_model, instance.Id]
|
25
22
|
expect(instance.Name).to_equal database_record.name
|
26
23
|
expect(instance.Example_Field__c).to_equal database_record.example
|
27
24
|
end
|
28
25
|
|
29
26
|
it "updates the database record with the Salesforce record's ID" do
|
27
|
+
Salesforce.records << [salesforce_model, instance.Id]
|
30
28
|
expect(sync_from.synced?).to_equal(true)
|
31
29
|
end
|
30
|
+
|
31
|
+
describe "when a Salesforce record already exists for the database instance" do
|
32
|
+
|
33
|
+
it "uses the existing record" do
|
34
|
+
salesforce_id = Salesforce.create!(
|
35
|
+
salesforce_model,
|
36
|
+
"SynchronizationId__c" => sync_from.uuid,
|
37
|
+
)
|
38
|
+
|
39
|
+
expect(instance.Id).to_equal salesforce_id
|
40
|
+
end
|
41
|
+
end
|
32
42
|
end
|
33
43
|
|
34
44
|
describe "#find", :vcr do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restforce-db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Horner
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -303,6 +303,7 @@ files:
|
|
303
303
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_all/returns_a_list_of_the_existing_records_in_Salesforce.yml
|
304
304
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/creates_a_record_in_Salesforce_from_the_passed_database_record_s_attributes.yml
|
305
305
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/updates_the_database_record_with_the_Salesforce_record_s_ID.yml
|
306
|
+
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_create_/when_a_Salesforce_record_already_exists_for_the_database_instance/uses_the_existing_record.yml
|
306
307
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/finds_existing_records_in_Salesforce.yml
|
307
308
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/given_a_set_of_mapping_conditions/when_a_record_does_not_meet_the_conditions/does_not_find_the_record.yml
|
308
309
|
- test/cassettes/Restforce_DB_RecordTypes_Salesforce/_find/given_a_set_of_mapping_conditions/when_a_record_meets_the_conditions/finds_the_record.yml
|