19 declare(strict_types=1);
31 protected function setUp(): void
44 $defaultTransport = $this->getMockBuilder(ilMailMimeTransport::class)->disableOriginalConstructor()->getMock();
45 $defaultTransport->expects($this->never())->method(
'send');
47 $transport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
48 $transport->expects($this->once())->method(
'send');
50 $transportFactory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
51 $transportFactory->method(
'getTransport')->willReturn($defaultTransport);
54 $refineryMock = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
57 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
64 $mail->Send($transport);
72 $defaultTransport = $this->getMockBuilder(ilMailMimeTransport::class)->getMock();
73 $defaultTransport->expects($this->once())->method(
'send');
75 $transportFactory = $this->getMockBuilder(ilMailMimeTransportFactory::class)->disableOriginalConstructor()->getMock();
76 $transportFactory->method(
'getTransport')->willReturn($defaultTransport);
79 $refineryMock = $this->getMockBuilder(Factory::class)->disableOriginalConstructor()->getMock();
82 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
97 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
101 $settings->method(
'get')->willReturnCallback(
static function (
$key): ?
string {
102 return (
string) !(
'mail_allow_external' ===
$key);
106 $eventHandler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
111 $this->assertInstanceOf(ilMailMimeTransportNull::class,
$factory->getTransport());
119 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
123 $settings->method(
'get')->willReturnCallback(
static function (
$key): ?
string {
124 if (
'mail_allow_external' ===
$key) {
133 $eventHandler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
138 $this->assertInstanceOf(ilMailMimeTransportSmtp::class,
$factory->getTransport());
146 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
151 $settings->method(
'get')->willReturnCallback(
static function (
$key): ?
string {
152 if (
'mail_allow_external' ===
$key) {
157 if (
'mail_smtp_status' ===
$key) {
165 $eventHandler = $this->getMockBuilder(ilAppEventHandler::class)->disableOriginalConstructor()->onlyMethods([
170 $this->assertInstanceOf(ilMailMimeTransportSendmail::class,
$factory->getTransport());
178 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
192 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
198 $this->assertInstanceOf(ilMailMimeSenderSystem::class,
$factory->system());
206 $user = $this->getMockBuilder(ilObjUser::class)
207 ->disableOriginalConstructor()
208 ->onlyMethods([
'getId'])
210 $user->method(
'getId')->willReturn($usrId);
220 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
226 $this->assertInstanceOf(ilMailMimeSenderUser::class,
$factory->getSenderByUsrId(self::USER_ID));
234 $settings = $this->getMockBuilder(ilSetting::class)->disableOriginalConstructor()->onlyMethods([
240 $this->assertInstanceOf(ilMailMimeSenderUser::class,
$factory->user(self::USER_ID));
static addUserToCache(int $usrId, ilObjUser $user)
Class ilMailMimeSenderFactory.
testFactoryWillReturnUserSenderForExistingUserId()
static setDefaultTransport(?ilMailMimeTransport $transport)
testTransportFactoryWillReturnSendmailTransportIfSmtpTransportIsDisabled()
testFactoryWillReturnSystemSenderForAnonymousUserId()
testFactoryWillReturnSystemSenderWhenExplicitlyRequested()
setGlobalVariable(string $name, $value)
testMimMailDelegatesEmailDeliveryToDefaultTransport()
testMimMailDelegatesEmailDeliveryToThePassedTransporter()
testTransportFactoryWillReturnNullTransportIfExternalEmailDeliveryIsDisabled()
testFactoryWillReturnUserSenderWhenExplicitlyRequested()
testTransportFactoryWillReturnSmtpTransportIfEnabled()