$worker =
new Worker(['transport' =>
$receiver],
$bus,
$dispatcher, clock:
new MockClock());
$worker->
run();
$this->
assertSame($apiMessage,
$envelopes[0
]->
getMessage());
$this->
assertSame($ipaMessage,
$envelopes[1
]->
getMessage());
$this->
assertCount(1,
$envelopes[0
]->
all(ReceivedStamp::
class));
$this->
assertCount(1,
$envelopes[0
]->
all(ConsumedByWorkerStamp::
class));
$this->
assertSame('transport',
$envelopes[0
]->
last(ReceivedStamp::
class)->
getTransportName());
$this->
assertSame(2,
$receiver->
getAcknowledgeCount());
} public function testHandlingErrorCausesReject() { $receiver =
new DummyReceiver([ [new Envelope(new DummyMessage('Hello'
),
[new SentStamp('Some\Sender', 'transport1'
)])],
]);
$bus =
$this->
createMock(MessageBusInterface::
class);
$bus->
method('dispatch'
)->
willThrowException(new \
InvalidArgumentException('Why not'
));