19declare(strict_types=1);
28 protected function setUp(): void
38 $default_transport = $this->getMockBuilder(ilMailMimeTransport::class)->disableOriginalConstructor()->getMock();
39 $default_transport->expects($this->never())->method(
'send');
41 $transport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
42 $transport->expects($this->once())->method(
'send');
44 $transport_factory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
45 $transport_factory->method(
'getTransport')->willReturn($default_transport);
48 $refinery = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
51 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
57 $refinery = $this->getMockBuilder(\
ILIAS\Refinery\Factory::class)->disableOriginalConstructor()->getMock();
61 $mail->Send($transport);
66 $default_transport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
67 $default_transport->expects($this->once())->method(
'send');
69 $transport_factory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
70 $transport_factory->method(
'getTransport')->willReturn($default_transport);
73 $refinery = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
76 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
82 $refinery = $this->getMockBuilder(\
ILIAS\Refinery\Factory::class)->disableOriginalConstructor()->getMock();
91 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
95 $settings->method(
'get')->willReturnCallback(
static function ($key): ?
string {
96 return (
string) (
'mail_allow_external' !== $key);
100 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
105 $this->assertInstanceOf(ilMailMimeTransportNull::class, $factory->getTransport());
110 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
114 $settings->method(
'get')->willReturnCallback(
static fn($key): ?
string =>
'1');
117 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
122 $this->assertInstanceOf(ilMailMimeTransportSmtp::class, $factory->getTransport());
127 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
132 $settings->method(
'get')->willReturnCallback(
static function ($key): ?
string {
133 if (
'mail_allow_external' === $key) {
138 if (
'mail_smtp_status' === $key) {
146 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
151 $this->assertInstanceOf(ilMailMimeTransportSendmail::class, $factory->getTransport());
156 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
160 $template_engine_factory = $this->createMock(TemplateEngineFactoryInterface::class);
163 $this->assertInstanceOf(ilMailMimeSenderSystem::class, $factory->getSenderByUsrId(
ANONYMOUS_USER_ID));
168 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
172 $template_engine_factory = $this->createMock(TemplateEngineFactoryInterface::class);
175 $this->assertInstanceOf(ilMailMimeSenderSystem::class, $factory->system());
180 $user = $this->getMockBuilder(ilObjUser::class)
181 ->disableOriginalConstructor()
182 ->onlyMethods([
'getId'])
184 $user->method(
'getId')->willReturn($usr_id);
191 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
195 $template_engine_factory = $this->createMock(TemplateEngineFactoryInterface::class);
198 $this->assertInstanceOf(ilMailMimeSenderUser::class, $factory->getSenderByUsrId(self::USER_ID));
203 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
207 $template_engine_factory = $this->createMock(TemplateEngineFactoryInterface::class);
210 $this->assertInstanceOf(ilMailMimeSenderUser::class, $factory->user(self::USER_ID));
setGlobalVariable(string $name, $value)
static addUserToCache(int $usr_id, ilObjUser $user)
testFactoryWillReturnUserSenderForExistingUserId()
testMimMailDelegatesEmailDeliveryToThePassedTransporter()
testMimMailDelegatesEmailDeliveryToDefaultTransport()
testTransportFactoryWillReturnNullTransportIfExternalEmailDeliveryIsDisabled()
testFactoryWillReturnUserSenderWhenExplicitlyRequested()
testFactoryWillReturnSystemSenderWhenExplicitlyRequested()
testFactoryWillReturnSystemSenderForAnonymousUserId()
testTransportFactoryWillReturnSendmailTransportIfSmtpTransportIsDisabled()
testTransportFactoryWillReturnSmtpTransportIfEnabled()
static setDefaultTransport(?ilMailMimeTransport $transport)
Factory interface for creating template engine instances.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.