public function testApiSend_ResolvesPromiseOnSuccess()
{
$req = $this->createRequest($name = 'name', $mssg = 'secret');
$result = '';
$channel = $this->getProtectedProperty($req, 'channel');
$channel->expects($this->once())->method('send')->will($this->returnCallback(function ($name, $message, $mode, $success, $failure, $abort, $timeout) {
$success('success');
}));
$callable = $this->createCallableMock();
$callable->expects($this->once())->method('__invoke')->will($this->returnCallback(function ($value) use(&$result) {
$result = $value;
}));
$promise = new Promise();
$promise->then($callable);
$this->callProtectedMethod($req, 'send', [$promise]);
$this->assertSame('success', $result);
}