19 declare(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([
57 $mail->Send($transport);
62 $default_transport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
63 $default_transport->expects($this->once())->method(
'send');
65 $transport_factory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
66 $transport_factory->method(
'getTransport')->willReturn($default_transport);
69 $refinery = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
72 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
84 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
88 $settings->method(
'get')->willReturnCallback(
static function ($key): ?
string {
89 return (
string) (
'mail_allow_external' !== $key);
93 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
98 $this->assertInstanceOf(ilMailMimeTransportNull::class, $factory->getTransport());
103 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
107 $settings->method(
'get')->willReturnCallback(
static fn($key): ?
string =>
'1');
110 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
115 $this->assertInstanceOf(ilMailMimeTransportSmtp::class, $factory->getTransport());
120 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
125 $settings->method(
'get')->willReturnCallback(
static function ($key): ?
string {
126 if (
'mail_allow_external' === $key) {
131 if (
'mail_smtp_status' === $key) {
139 $event_handler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
144 $this->assertInstanceOf(ilMailMimeTransportSendmail::class, $factory->getTransport());
149 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
153 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
156 $this->assertInstanceOf(ilMailMimeSenderSystem::class, $factory->getSenderByUsrId(
ANONYMOUS_USER_ID));
161 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
165 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
168 $this->assertInstanceOf(ilMailMimeSenderSystem::class, $factory->system());
173 $user = $this->getMockBuilder(ilObjUser::class)
174 ->disableOriginalConstructor()
175 ->onlyMethods([
'getId'])
177 $user->method(
'getId')->willReturn($usr_id);
184 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
188 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
191 $this->assertInstanceOf(ilMailMimeSenderUser::class, $factory->getSenderByUsrId(self::USER_ID));
196 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
200 $mustache_factory = $this->getMockBuilder(ilMustacheFactory::class)->getMock();
203 $this->assertInstanceOf(ilMailMimeSenderUser::class, $factory->user(self::USER_ID));
testFactoryWillReturnUserSenderForExistingUserId()
static setDefaultTransport(?ilMailMimeTransport $transport)
testTransportFactoryWillReturnSendmailTransportIfSmtpTransportIsDisabled()
static addUserToCache(int $usr_id, ilObjUser $user)
testFactoryWillReturnSystemSenderForAnonymousUserId()
testFactoryWillReturnSystemSenderWhenExplicitlyRequested()
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
setGlobalVariable(string $name, $value)
testMimMailDelegatesEmailDeliveryToDefaultTransport()
testMimMailDelegatesEmailDeliveryToThePassedTransporter()
testTransportFactoryWillReturnNullTransportIfExternalEmailDeliveryIsDisabled()
testFactoryWillReturnUserSenderWhenExplicitlyRequested()
testTransportFactoryWillReturnSmtpTransportIfEnabled()