/** @test */ public function nackShouldNegativeAcknowledge() { $client = $this->getMockBuilder('React\\Stomp\\Client')->disableOriginalConstructor()->getMock(); $capturedSubId = $capturedMsgId = $capturedHeaders = null; $client->expects($this->exactly(1))->method('nack')->will($this->returnCallback(function ($subId, $msgId, $headers) use(&$capturedSubId, &$capturedMsgId, &$capturedHeaders) { $capturedHeaders = $headers; $capturedMsgId = $msgId; $capturedSubId = $subId; })); $ackResolver = new AckResolver($client, 12345, 54321); $ackResolver->nack(array('foo' => 'bar')); $this->assertEquals(array('foo' => 'bar'), $capturedHeaders); $this->assertEquals(54321, $capturedMsgId); $this->assertEquals(12345, $capturedSubId); }