addContact($contact); $result->setStat($stat); return $result; } }; $emailStatModel = new class() extends EmailStatModel { public function __construct() { } public function saveEntity(Stat $stat): void { Assert::assertTrue($stat->isFailed()); Assert::assertArrayHasKey('bounces', $stat->getOpenDetails()); Assert::assertArrayHasKey(0, $stat->getOpenDetails()['bounces']); Assert::assertArrayHasKey('datetime', $stat->getOpenDetails()['bounces'][0]); Assert::assertArrayHasKey('reason', $stat->getOpenDetails()['bounces'][0]); Assert::assertSame('some-comments', $stat->getOpenDetails()['bounces'][0]['reason']); } }; $transportCallback = new TransportCallback($dncModel, $contactFinder, $emailStatModel); $transportCallback->addFailureByHashId('some-hash-id', 'some-comments'); } }