Sha256: e86e1582c0d168baa2ae94cb3d8389f744e2a5e11bdd66c090b95a3ffeed3284
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 KB
Contents
RSpec.describe SolidusEasypost::TrackerWebhookHandler do describe '.call' do context 'when the event is not tracker.updated' do it 'does not process the event' do stub_const('Spree::Event', class_spy(Spree::Event)) create(:carton, easy_post_tracker_id: 'trk_test') payload = { 'description' => 'tracker.created', 'result' => { 'id' => 'trk_test', }, } described_class.call(payload) expect(Spree::Event).not_to have_received(:fire) end end context 'when the tracker was not registered in Solidus' do it 'does not process the event' do stub_const('Spree::Event', class_spy(Spree::Event)) create(:carton, easy_post_tracker_id: 'trk_test') payload = { 'description' => 'tracker.updated', 'result' => { 'id' => 'trk_test1', }, } described_class.call(payload) expect(Spree::Event).not_to have_received(:fire) end end context 'when the event is a tracker update for a registered tracker' do it 'forwards the event via the event bus' do stub_const('Spree::Event', class_spy(Spree::Event)) carton = create(:carton, easy_post_tracker_id: 'trk_test') payload = { 'description' => 'tracker.updated', 'result' => { 'id' => 'trk_test', }, } described_class.call(payload) expect(Spree::Event).to have_received(:fire).with( 'solidus_easypost.tracker.updated', carton: carton, payload: payload, ) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_easypost-3.0.0 | spec/solidus_easypost/tracker_webhook_handler_spec.rb |