restforce-db 2.7.0 → 3.0.0
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/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
|