2 declare(strict_types = 1);
18 use Symfony\Component\Console\Tester\CommandTester;
21 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
33 $realTransport = $this->getMockBuilder(\Swift_Transport::class)->getMock();
35 $spool = $this->getMockBuilder(\Swift_Spool::class)->getMock();
37 ->expects($this->once())
38 ->method(
'flushQueue')
39 ->with($realTransport)
40 ->will($this->returnValue(5))
42 $spoolTransport = new \Swift_Transport_SpoolTransport(
new \Swift_Events_SimpleEventDispatcher(), $spool);
44 $mailer = $this->getMockBuilder(Mailer::class)
45 ->disableOriginalConstructor()
46 ->setMethods([
'getTransport',
'getRealTransport'])
50 ->expects($this->any())
51 ->method(
'getTransport')
52 ->will($this->returnValue($spoolTransport));
55 ->expects($this->any())
56 ->method(
'getRealTransport')
57 ->will($this->returnValue($realTransport));
60 $command = $this->getMockBuilder(SendEmailCommand::class)
61 ->setConstructorArgs([
'swiftmailer:spool:send'])
62 ->setMethods([
'getMailer'])
66 ->expects($this->any())
68 ->will($this->returnValue($mailer));
70 $tester =
new CommandTester($command);
71 $tester->execute([], []);
73 $this->assertTrue(strpos($tester->getDisplay(),
'5 emails sent') > 0);