ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilMailAddressTypesTest Class Reference
+ Inheritance diagram for ilMailAddressTypesTest:
+ Collaboration diagram for ilMailAddressTypesTest:

Public Member Functions

 testFactoryWillReturnListAddressTypeForListName ()
 
 testFactoryWillReturnGroupAddressTypeForGroupName ()
 
 testFactoryWillReturnLoginOrEmailAddressAddressType ()
 
 testFactoryWillReturnRoleAddressType ()
 
 testAdminGroupNameIsAValidMailAddressTypes ()
 
 testMemberGroupNameIsAValidMailAddressType ()
 
 testAdminCourseNameIsAValidMailAddressType ()
 
 testMemberCourseNameIsAValidMailAddressType ()
 
 testUserIdCanBeResolvedFromLoginAddress ()
 
 testNoUserIdCanBeResolvedFromUnknownLoginAddress ()
 
 testNoUserIdCanBeResolvedFromEmailAddress ()
 
 testAddressCanBeValidatedFromLoginOrEmailAddressType ()
 
 testUserIdsCanBeResolvedFromGroupNameAddress ()
 
 testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress ()
 
 testValidationFailsForNonExistingGroupNameAddress ()
 
 testValidationSucceedsForExistingGroupName ()
 
 testUserIdsCanBeResolvedFromMailingListAddress ()
 
 testMailingListAddressCanBeValidated ()
 
 testUserIdsCanBeResolvedFromRoleAddress ()
 
 testNoUserIdsCanBeResolvedFromInvalidRoleAddress ()
 
 testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged ()
 
 testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses ()
 
 testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses ()
 
 testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled ()
 
 testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled ()
 

Protected Member Functions

 setUp ()
 
- Protected Member Functions inherited from ilMailBaseTestCase
 brutallyTrimHTML (string $html)
 
 setUp ()
 
 tearDown ()
 
 setGlobalVariable (string $name, $value)
 

Private Member Functions

 createGroupNameAsValidatorMock ()
 
 getAddressTypeFactory (ilGroupNameAsMailValidator $group_name_validator)
 
 getWrappedAddressType (ilMailAddressType $type)
 

Detailed Description

Definition at line 21 of file ilMailAddressTypesTest.php.

Member Function Documentation

◆ createGroupNameAsValidatorMock()

ilMailAddressTypesTest::createGroupNameAsValidatorMock ( )
private

◆ getAddressTypeFactory()

ilMailAddressTypesTest::getAddressTypeFactory ( ilGroupNameAsMailValidator  $group_name_validator)
private

Definition at line 37 of file ilMailAddressTypesTest.php.

38 {
39 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
40 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
41 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->getMock();
42 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
43 $mailing_lists = $this->getMockBuilder(ilMailingLists::class)->disableOriginalConstructor()->getMock();
44 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->getMock();
45
46 return new ilMailAddressTypeFactory(
47 $group_name_validator,
48 $logger,
49 $rbacsystem,
50 $rbacreview,
51 $address_type_helper,
52 $mailing_lists,
53 $role_mailbox_search
54 );
55 }

Referenced by testAdminCourseNameIsAValidMailAddressType(), testAdminGroupNameIsAValidMailAddressTypes(), testFactoryWillReturnGroupAddressTypeForGroupName(), testFactoryWillReturnListAddressTypeForListName(), testFactoryWillReturnLoginOrEmailAddressAddressType(), testFactoryWillReturnRoleAddressType(), testMemberCourseNameIsAValidMailAddressType(), and testMemberGroupNameIsAValidMailAddressType().

+ Here is the caller graph for this function:

◆ getWrappedAddressType()

ilMailAddressTypesTest::getWrappedAddressType ( ilMailAddressType  $type)
private

◆ setUp()

ilMailAddressTypesTest::setUp ( )
protected

Reimplemented from ilMailBaseTestCase.

Definition at line 23 of file ilMailAddressTypesTest.php.

23 : void
24 {
25 parent::setUp();
27 }

References ilMailCachedAddressType\clearCache().

+ Here is the call graph for this function:

◆ testAddressCanBeValidatedFromLoginOrEmailAddressType()

ilMailAddressTypesTest::testAddressCanBeValidatedFromLoginOrEmailAddressType ( )

Definition at line 231 of file ilMailAddressTypesTest.php.

231 : void
232 {
233 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
234 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
235
236 $address_type_helper->expects($this->atLeast(3))->method('getInstallationHost')->willReturn('ilias');
237 $address_type_helper->expects($this->exactly(2))->method('getUserIdByLogin')->willReturnOnConsecutiveCalls(
238 4711,
239 4711,
240 0
241 );
242
243 $address_type_helper->method('receivesInternalMailsOnly')->willReturn(true);
244
245 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
246 $rbacsystem->expects($this->exactly(2))->method('checkAccessOfUser')->willReturnOnConsecutiveCalls(
247 true,
248 false
249 );
250
252 $address_type_helper,
253 new ilMailAddress('phpunit', 'ilias'),
254 $logger,
255 $rbacsystem
256 );
257 $this->assertTrue($type->validate(666));
258 $this->assertCount(0, $type->getErrors());
259
260 $this->assertFalse($type->validate(666));
261 $this->assertArrayHasKey(0, $type->getErrors());
262 $this->assertSame('user_cant_receive_mail', $type->getErrors()[0]->getLanguageVariable());
263
265 $address_type_helper,
266 new ilMailAddress('mjansen', 'databay.de'),
267 $logger,
268 $rbacsystem
269 );
270 $this->assertTrue($type->validate(666));
271 $this->assertCount(0, $type->getErrors());
272 }

◆ testAdminCourseNameIsAValidMailAddressType()

ilMailAddressTypesTest::testAdminCourseNameIsAValidMailAddressType ( )

Definition at line 142 of file ilMailAddressTypesTest.php.

142 : void
143 {
144 $group_name_validator = $this->createGroupNameAsValidatorMock();
145 $group_name_validator->method('validate')->willReturn(false);
146
147 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
148
149 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_crs_admin_98', ''), false);
150
151 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
152 }
getWrappedAddressType(ilMailAddressType $type)
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testAdminGroupNameIsAValidMailAddressTypes()

ilMailAddressTypesTest::testAdminGroupNameIsAValidMailAddressTypes ( )

Definition at line 118 of file ilMailAddressTypesTest.php.

118 : void
119 {
120 $group_name_validator = $this->createGroupNameAsValidatorMock();
121 $group_name_validator->method('validate')->willReturn(false);
122
123 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
124
125 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_grp_admin_98', ''), false);
126
127 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
128 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled()

ilMailAddressTypesTest::testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled ( )

Definition at line 575 of file ilMailAddressTypesTest.php.

575 : void
576 {
577 $origin = $this->getMockBuilder(ilMailAddressType::class)->getMock();
578
579 $origin->expects($this->once())->method('resolve');
580 $origin->expects($this->once())->method('validate');
581
582 $type = new ilMailCachedAddressType($origin, true);
583 $type->resolve();
584 $type->resolve();
585
586 $type->validate(6);
587 $type->validate(6);
588 }

◆ testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled()

ilMailAddressTypesTest::testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled ( )

Definition at line 590 of file ilMailAddressTypesTest.php.

590 : void
591 {
592 $origin = $this->getMockBuilder(ilMailAddressType::class)->getMock();
593
594 $origin->expects($this->exactly(3))->method('resolve');
595 $origin->expects($this->exactly(3))->method('validate');
596
597 $type = new ilMailCachedAddressType($origin, false);
598 $type->resolve();
599 $type->resolve();
600 $type->resolve();
601
602 $type->validate(6);
603 $type->validate(6);
604 $type->validate(6);
605 }

◆ testFactoryWillReturnGroupAddressTypeForGroupName()

ilMailAddressTypesTest::testFactoryWillReturnGroupAddressTypeForGroupName ( )

Definition at line 82 of file ilMailAddressTypesTest.php.

82 : void
83 {
84 $group_name_validator = $this->createGroupNameAsValidatorMock();
85 $group_name_validator->method('validate')->willReturn(true);
86
87 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
88
89 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#MyGroup', ''), false);
90
91 $this->assertInstanceOf('ilMailGroupAddressType', $this->getWrappedAddressType($result));
92 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testFactoryWillReturnListAddressTypeForListName()

ilMailAddressTypesTest::testFactoryWillReturnListAddressTypeForListName ( )

Definition at line 70 of file ilMailAddressTypesTest.php.

70 : void
71 {
72 $group_name_validator = $this->createGroupNameAsValidatorMock();
73 $group_name_validator->method('validate')->willReturn(true);
74
75 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
76
77 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_ml_4711', ''), false);
78
79 $this->assertInstanceOf('ilMailMailingListAddressType', $this->getWrappedAddressType($result));
80 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testFactoryWillReturnLoginOrEmailAddressAddressType()

ilMailAddressTypesTest::testFactoryWillReturnLoginOrEmailAddressAddressType ( )

Definition at line 94 of file ilMailAddressTypesTest.php.

94 : void
95 {
96 $group_name_validator = $this->createGroupNameAsValidatorMock();
97 $group_name_validator->method('validate')->willReturn(false);
98
99 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
100
101 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('phpunit', ''), false);
102
103 $this->assertInstanceOf('ilMailLoginOrEmailAddressAddressType', $this->getWrappedAddressType($result));
104 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testFactoryWillReturnRoleAddressType()

ilMailAddressTypesTest::testFactoryWillReturnRoleAddressType ( )

Definition at line 106 of file ilMailAddressTypesTest.php.

106 : void
107 {
108 $group_name_validator = $this->createGroupNameAsValidatorMock();
109 $group_name_validator->method('validate')->willReturn(false);
110
111 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
112
113 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#member', ''), false);
114
115 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
116 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testMailingListAddressCanBeValidated()

ilMailAddressTypesTest::testMailingListAddressCanBeValidated ( )

Definition at line 394 of file ilMailAddressTypesTest.php.

394 : void
395 {
396 $lists = $this->getMockBuilder(ilMailingLists::class)->disableOriginalConstructor()->onlyMethods([
397 'mailingListExists',
398 ])->getMock();
399 $lists->expects($this->exactly(2))->method('mailingListExists')->with('#il_ml_4711')->willReturnOnConsecutiveCalls(
400 true,
401 false
402 );
403 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
404 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
405
407 $address_type_helper,
408 new ilMailAddress('#il_ml_4711', ''),
409 $logger,
410 $lists
411 );
412
413 $this->assertTrue($type->validate(666));
414 $this->assertCount(0, $type->getErrors());
415
416 $this->assertFalse($type->validate(666));
417 $this->assertCount(1, $type->getErrors());
418 $this->assertArrayHasKey(0, $type->getErrors());
419 $this->assertSame('mail_no_valid_mailing_list', $type->getErrors()[0]->getLanguageVariable());
420 }

◆ testMemberCourseNameIsAValidMailAddressType()

ilMailAddressTypesTest::testMemberCourseNameIsAValidMailAddressType ( )

Definition at line 154 of file ilMailAddressTypesTest.php.

154 : void
155 {
156 $group_name_validator = $this->createGroupNameAsValidatorMock();
157 $group_name_validator->method('validate')->willReturn(false);
158
159 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
160
161 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_crs_member_98', ''), false);
162
163 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
164 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testMemberGroupNameIsAValidMailAddressType()

ilMailAddressTypesTest::testMemberGroupNameIsAValidMailAddressType ( )

Definition at line 130 of file ilMailAddressTypesTest.php.

130 : void
131 {
132 $group_name_validator = $this->createGroupNameAsValidatorMock();
133 $group_name_validator->method('validate')->willReturn(false);
134
135 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
136
137 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_grp_member_98', ''), false);
138
139 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
140 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testNoUserIdCanBeResolvedFromEmailAddress()

ilMailAddressTypesTest::testNoUserIdCanBeResolvedFromEmailAddress ( )

Definition at line 210 of file ilMailAddressTypesTest.php.

210 : void
211 {
212 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
213 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
214 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
215
216 $address_type_helper->expects($this->once())->method('getInstallationHost')->willReturn('ilias');
217 $address_type_helper->expects($this->once())->method('getUserIdByLogin')->willReturn(0);
218
220 $address_type_helper,
221 new ilMailAddress('mjansen', 'databay.de'),
222 $logger,
223 $rbacsystem
224 );
225
226 $usr_ids = $type->resolve();
227
228 $this->assertCount(0, $usr_ids);
229 }

◆ testNoUserIdCanBeResolvedFromUnknownLoginAddress()

ilMailAddressTypesTest::testNoUserIdCanBeResolvedFromUnknownLoginAddress ( )

Definition at line 189 of file ilMailAddressTypesTest.php.

189 : void
190 {
191 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
192 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
193 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
194
195 $address_type_helper->expects($this->once())->method('getInstallationHost')->willReturn('ilias');
196 $address_type_helper->expects($this->once())->method('getUserIdByLogin')->willReturn(0);
197
199 $address_type_helper,
200 new ilMailAddress('phpunit', 'ilias'),
201 $logger,
202 $rbacsystem
203 );
204
205 $usr_ids = $type->resolve();
206
207 $this->assertCount(0, $usr_ids);
208 }

◆ testNoUserIdsCanBeResolvedFromInvalidRoleAddress()

ilMailAddressTypesTest::testNoUserIdsCanBeResolvedFromInvalidRoleAddress ( )

Definition at line 451 of file ilMailAddressTypesTest.php.

451 : void
452 {
453 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
454 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
455 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['assignedUsers'])->getMock();
456 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
457 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
458
459 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturn([]);
460 $rbacreview->expects($this->never())->method('assignedUsers');
461
462 $type = new ilMailRoleAddressType(
463 $address_type_helper,
464 new ilMailAddress('phpunit', 'ilias'),
465 $role_mailbox_search,
466 $logger,
467 $rbacsystem,
468 $rbacreview
469 );
470
471 $usr_ids = $type->resolve();
472
473 $this->assertCount(0, $usr_ids);
474 }

◆ testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged()

ilMailAddressTypesTest::testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged ( )

Definition at line 476 of file ilMailAddressTypesTest.php.

476 : void
477 {
478 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
479 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
480 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['assignedUsers'])->getMock();
481 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
482 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
483
484 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturn([1]);
485 $rbacreview->expects($this->once())->method('assignedUsers')->willReturn([]);
486
487 $type = new ilMailRoleAddressType(
488 $address_type_helper,
489 new ilMailAddress('phpunit', 'ilias'),
490 $role_mailbox_search,
491 $logger,
492 $rbacsystem,
493 $rbacreview
494 );
495
496 $usr_ids = $type->resolve();
497
498 $this->assertCount(0, $usr_ids);
499 }

◆ testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses()

ilMailAddressTypesTest::testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses ( )

Definition at line 525 of file ilMailAddressTypesTest.php.

525 : void
526 {
527 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
528 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->onlyMethods(['checkAccessOfUser'])->getMock();
529 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['isGlobalRole'])->getMock();
530 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
531 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
532
533 $role_mailbox_search->expects($this->exactly(4))->method('searchRoleIdsByAddressString')->willReturnOnConsecutiveCalls(
534 [1],
535 [],
536 [1, 2],
537 [1]
538 );
539 $rbacsystem->expects($this->exactly(4))->method('checkAccessOfUser')->willReturnOnConsecutiveCalls(
540 false,
541 true,
542 true,
543 true
544 );
545 $rbacreview->expects($this->once())->method('isGlobalRole')->with(1)->willReturn(true);
546
547 $type = new ilMailRoleAddressType(
548 $address_type_helper,
549 new ilMailAddress('phpunit', 'ilias'),
550 $role_mailbox_search,
551 $logger,
552 $rbacsystem,
553 $rbacreview
554 );
555
556 $this->assertFalse($type->validate(4711));
557 $this->assertCount(1, $type->getErrors());
558 $this->assertArrayHasKey(0, $type->getErrors());
559 $this->assertSame('mail_to_global_roles_not_allowed', $type->getErrors()[0]->getLanguageVariable());
560
561 $this->assertFalse($type->validate(4711));
562 $this->assertCount(1, $type->getErrors());
563 $this->assertArrayHasKey(0, $type->getErrors());
564 $this->assertSame('mail_recipient_not_found', $type->getErrors()[0]->getLanguageVariable());
565
566 $this->assertFalse($type->validate(4711));
567 $this->assertCount(1, $type->getErrors());
568 $this->assertArrayHasKey(0, $type->getErrors());
569 $this->assertSame('mail_multiple_role_recipients_found', $type->getErrors()[0]->getLanguageVariable());
570
571 $this->assertTrue($type->validate(4711));
572 $this->assertCount(0, $type->getErrors());
573 }

◆ testUserIdCanBeResolvedFromLoginAddress()

ilMailAddressTypesTest::testUserIdCanBeResolvedFromLoginAddress ( )

Definition at line 166 of file ilMailAddressTypesTest.php.

166 : void
167 {
168 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
169 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
170 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
171
172 $address_type_helper->expects($this->once())->method('getInstallationHost')->willReturn('ilias');
173 $address_type_helper->expects($this->once())->method('getUserIdByLogin')->willReturn(4711);
174
176 $address_type_helper,
177 new ilMailAddress('phpunit', 'ilias'),
178 $logger,
179 $rbacsystem
180 );
181
182 $usr_ids = $type->resolve();
183
184 $this->assertCount(1, $usr_ids);
185 $this->assertArrayHasKey(0, $usr_ids);
186 $this->assertSame(4711, $usr_ids[0]);
187 }

◆ testUserIdsCanBeResolvedFromGroupNameAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromGroupNameAddress ( )

Definition at line 274 of file ilMailAddressTypesTest.php.

274 : void
275 {
276 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
277 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
278
279 $group = $this->getMockBuilder(ilObjGroup::class)->disableOriginalConstructor()->onlyMethods(['getGroupMemberIds'])->getMock();
280 $group->expects($this->once())->method('getGroupMemberIds')->willReturn([666, 777]);
281
282 $address_type_helper->expects($this->once())->method('getGroupObjIdByTitle')->willReturn(1);
283 $address_type_helper->expects($this->once())->method('getAllRefIdsForObjId')->with(1)->willReturn([2]);
284 $address_type_helper->expects($this->once())->method('getInstanceByRefId')->with(2)->willReturn($group);
285
286 $type = new ilMailGroupAddressType(
287 $address_type_helper,
288 new ilMailAddress('#PhpUnit', ''),
289 $logger
290 );
291
292 $usr_ids = $type->resolve();
293
294 $this->assertCount(2, $usr_ids);
295 }

◆ testUserIdsCanBeResolvedFromMailingListAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromMailingListAddress ( )

Definition at line 350 of file ilMailAddressTypesTest.php.

350 : void
351 {
352 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
353 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
354
355 $list = $this->getMockBuilder(ilMailingList::class)->disableOriginalConstructor()->onlyMethods([
356 'getAssignedEntries',
357 ])->getMock();
358 $list->expects($this->exactly(2))->method('getAssignedEntries')->willReturnOnConsecutiveCalls(
359 [['usr_id' => 1], ['usr_id' => 2], ['usr_id' => 3]],
360 []
361 );
362
363 $lists = $this->getMockBuilder(ilMailingLists::class)->disableOriginalConstructor()->onlyMethods([
364 'mailingListExists',
365 'getCurrentMailingList',
366 ])->getMock();
367 $lists->expects($this->exactly(3))->method('mailingListExists')->with('#il_ml_4711')->willReturnOnConsecutiveCalls(
368 true,
369 true,
370 false
371 );
372 $lists->expects($this->exactly(2))->method('getCurrentMailingList')->willReturn($list);
373
375 $address_type_helper,
376 new ilMailAddress('#il_ml_4711', ''),
377 $logger,
378 $lists
379 );
380
381 $usr_ids = $type->resolve();
382
383 $this->assertCount(3, $usr_ids);
384
385 $usr_ids = $type->resolve();
386
387 $this->assertCount(0, $usr_ids);
388
389 $usr_ids = $type->resolve();
390
391 $this->assertCount(0, $usr_ids);
392 }

◆ testUserIdsCanBeResolvedFromRoleAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromRoleAddress ( )

Definition at line 422 of file ilMailAddressTypesTest.php.

422 : void
423 {
424 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
425 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
426 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['assignedUsers'])->getMock();
427 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
428 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
429
430 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturn([1, 2, 3]);
431 $rbacreview->expects($this->exactly(3))->method('assignedUsers')->willReturnOnConsecutiveCalls(
432 [4, 5, 6],
433 [7, 8],
434 [9]
435 );
436
437 $type = new ilMailRoleAddressType(
438 $address_type_helper,
439 new ilMailAddress('phpunit', 'ilias'),
440 $role_mailbox_search,
441 $logger,
442 $rbacsystem,
443 $rbacreview
444 );
445
446 $usr_ids = $type->resolve();
447
448 $this->assertCount(6, $usr_ids);
449 }

◆ testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress()

ilMailAddressTypesTest::testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress ( )

Definition at line 297 of file ilMailAddressTypesTest.php.

297 : void
298 {
299 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
300 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
301
302 $group = $this->getMockBuilder(ilObjGroup::class)->disableOriginalConstructor()->onlyMethods(['getGroupMemberIds'])->getMock();
303 $group->expects($this->never())->method('getGroupMemberIds');
304
305 $address_type_helper->expects($this->once())->method('getGroupObjIdByTitle')->willReturn(0);
306 $address_type_helper->expects($this->once())->method('getAllRefIdsForObjId')->with(0)->willReturn([]);
307 $address_type_helper->expects($this->never())->method('getInstanceByRefId');
308
309 $type = new ilMailGroupAddressType(
310 $address_type_helper,
311 new ilMailAddress('#PhpUnit', ''),
312 $logger
313 );
314
315 $usr_ids = $type->resolve();
316
317 $this->assertCount(0, $usr_ids);
318 }

◆ testValidationFailsForNonExistingGroupNameAddress()

ilMailAddressTypesTest::testValidationFailsForNonExistingGroupNameAddress ( )

Definition at line 320 of file ilMailAddressTypesTest.php.

320 : void
321 {
322 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
323 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
324
325 $address_type_helper->expects($this->once())->method('doesGroupNameExists')->with('PhpUnit')->willReturn(false);
326
327 $type = new ilMailGroupAddressType(
328 $address_type_helper,
329 new ilMailAddress('#PhpUnit', ''),
330 $logger
331 );
332 $this->assertFalse($type->validate(666));
333 }

◆ testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses()

ilMailAddressTypesTest::testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses ( )

Definition at line 501 of file ilMailAddressTypesTest.php.

501 : void
502 {
503 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
504 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
505 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->getMock();
506 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
507 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
508
509 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturnOnConsecutiveCalls([1]);
510 $rbacsystem->expects($this->never())->method('checkAccessOfUser');
511
512 $type = new ilMailRoleAddressType(
513 $address_type_helper,
514 new ilMailAddress('phpunit', 'ilias'),
515 $role_mailbox_search,
516 $logger,
517 $rbacsystem,
518 $rbacreview
519 );
520
521 $this->assertTrue($type->validate(ANONYMOUS_USER_ID));
522 $this->assertCount(0, $type->getErrors());
523 }
const ANONYMOUS_USER_ID
Definition: constants.php:27

References ANONYMOUS_USER_ID.

◆ testValidationSucceedsForExistingGroupName()

ilMailAddressTypesTest::testValidationSucceedsForExistingGroupName ( )

Definition at line 335 of file ilMailAddressTypesTest.php.

335 : void
336 {
337 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
338 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
339
340 $address_type_helper->expects($this->once())->method('doesGroupNameExists')->with('PhpUnit')->willReturn(true);
341
342 $type = new ilMailGroupAddressType(
343 $address_type_helper,
344 new ilMailAddress('#PhpUnit', ''),
345 $logger
346 );
347 $this->assertTrue($type->validate(666));
348 }

The documentation for this class was generated from the following file: