Sha256: 87779f92a3e7118410c4e14d8dbcce4d32f986a20433e4e650c681c5a563cb99
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
RSpec.describe SagaStatus do subject(:status) { SagaStatus.new saga_id } let(:saga_id) { SecureRandom.uuid } let(:event_bus) { spy subscribe: true } before do allow(Aggro).to receive(:event_bus).and_return event_bus end describe '.new' do it 'should subscribe to the SagaRunner with the saga_runner namespace' do status expect(event_bus).to have_received(:subscribe).with saga_id, status end end describe 'events' do describe '#started' do it 'should put the status into a pending state' do status._started expect(status.state).to eq :pending end end describe '#rejected' do it 'should put the status into a rejected state' do status._rejected 'reason' expect(status.state).to eq :rejected end it 'should set the reason' do status._rejected 'reason' expect(status.reason).to eq 'reason' end end describe '#rejected' do it 'should put the status into a rejected state' do status._resolved 'value' expect(status.state).to eq :fulfilled end it 'should set the value' do status._resolved 'value' expect(status.value).to eq 'value' end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aggro-0.0.4 | spec/lib/aggro/saga_status_spec.rb |
aggro-0.0.3 | spec/lib/aggro/saga_status_spec.rb |
aggro-0.0.2 | spec/lib/aggro/saga_status_spec.rb |