Sha256: 8d3ccf323b20a8045a3135d7e0cf977d594c1bcb8b3c877f40876bda0d9460d0
Contents?: true
Size: 1.97 KB
Versions: 2
Compression:
Stored size: 1.97 KB
Contents
require 'spec_helper' describe NetSuiteRails::SyncTrigger do include ExampleModels before do allow(NetSuiteRails::RecordSync::PushManager).to receive(:push_add) allow(NetSuiteRails::RecordSync::PushManager).to receive(:push_update) end it "should push new record when saved" do s = StandardRecord.new s.phone = Faker::PhoneNumber.phone_number s.save! expect(NetSuiteRails::RecordSync::PushManager).to have_received(:push_add) expect(NetSuiteRails::RecordSync::PushManager).to_not have_received(:push_update) end it "should not push update on a pull record" do s = StandardRecord.new netsuite_id: 123 allow(s).to receive(:netsuite_pull) s.save! expect(s).to have_received(:netsuite_pull) expect(NetSuiteRails::RecordSync::PushManager).to_not have_received(:push_add) expect(NetSuiteRails::RecordSync::PushManager).to_not have_received(:push_update) end it "should push an update on an existing record" do s = StandardRecord.new netsuite_id: 123 allow(s).to receive(:netsuite_pull) s.save! s.phone = Faker::PhoneNumber.phone_number s.save! expect(NetSuiteRails::RecordSync::PushManager).to_not have_received(:push_add) expect(NetSuiteRails::RecordSync::PushManager).to have_received(:push_update) end it "should push the modified attributes to the model" do s = StandardRecord.new netsuite_id: 123 allow(s).to receive(:netsuite_pull) s.save! # delayed_job isn't included in this gem; hack it into the current record instance s.instance_eval { def delay; self; end } allow(s).to receive(:delay).and_return(s) NetSuiteRails::Configuration.netsuite_sync_mode :async s.phone = Faker::PhoneNumber.phone_number s.save! NetSuiteRails::Configuration.netsuite_sync_mode :sync expect(s).to have_received(:delay) expect(NetSuiteRails::RecordSync::PushManager).to have_received(:push_update).with(anything, anything, {:modified_fields=>{:phone=> :phone}}) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
netsuite_rails-0.2.1 | spec/models/sync_trigger_spec.rb |
netsuite_rails-0.2.0 | spec/models/sync_trigger_spec.rb |