19declare(strict_types=1);
27 protected function setUp(): void
37 $default_transport = $this->getMockBuilder(ilMailMimeTransport::class)->disableOriginalConstructor()->getMock();
38 $default_transport->expects($this->never())->method(
'send');
40 $transport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
41 $transport->expects($this->once())->method(
'send');
43 $transport_factory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
44 $transport_factory->method(
'getTransport')->willReturn($default_transport);
47 $refinery = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
50 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
56 $refinery = $this->getMockBuilder(\
ILIAS\Refinery\Factory::class)->disableOriginalConstructor()->getMock();
60 $mail->Send($transport);
65 $default_transport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
66 $default_transport->expects($this->once())->method(
'send');
68 $transport_factory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
69 $transport_factory->method(
'getTransport')->willReturn($default_transport);
72 $refinery = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
75 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
81 $refinery = $this->getMockBuilder(\
ILIAS\Refinery\Factory::class)->disableOriginalConstructor()->getMock();
90 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
94 $settings->method(
'get')->willReturnCallback(
static function ($key): ?
string {
95 return (
string) (
'mail_allow_external' !== $key);
99 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
104 $this->assertInstanceOf(ilMailMimeTransportNull::class, $factory->getTransport());
109 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
113 $settings->method(
'get')->willReturnCallback(
static fn($key): ?
string =>
'1');
116 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
121 $this->assertInstanceOf(ilMailMimeTransportSmtp::class, $factory->getTransport());
126 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
131 $settings->method(
'get')->willReturnCallback(
static function ($key): ?
string {
132 if (
'mail_allow_external' === $key) {
137 if (
'mail_smtp_status' === $key) {
145 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
150 $this->assertInstanceOf(ilMailMimeTransportSendmail::class, $factory->getTransport());
155 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
159 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
162 $this->assertInstanceOf(ilMailMimeSenderSystem::class, $factory->getSenderByUsrId(
ANONYMOUS_USER_ID));
167 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
171 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
174 $this->assertInstanceOf(ilMailMimeSenderSystem::class, $factory->system());
179 $user = $this->getMockBuilder(ilObjUser::class)
180 ->disableOriginalConstructor()
181 ->onlyMethods([
'getId'])
183 $user->method(
'getId')->willReturn($usr_id);
190 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
194 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
197 $this->assertInstanceOf(ilMailMimeSenderUser::class, $factory->getSenderByUsrId(self::USER_ID));
202 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
206 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
209 $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)
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.