ILIAS  release_8 Revision v8.24
ilMailAddressListTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
26{
27 public function addressTestProvider(): array
28 {
29 return [
30 'Username Addresses' => [
31 [
32 new ilMailAddress('phpunit', 'ilias'),
33 ],
34 [
35 new ilMailAddress('user', 'ilias'),
36 new ilMailAddress('max.mustermann', 'ilias.de'),
37 ],
38 1,
39 ],
40 'Role Addresses' => [
41 [
42 new ilMailAddress('#il_ml_4711', 'ilias'),
43 new ilMailAddress('#il_ml_4712', 'ilias'),
44 new ilMailAddress('#il_ml_4713', 'ilias'),
45 ],
46 [
47 new ilMailAddress('#il_ml_4713', 'ilias'),
48 new ilMailAddress('#il_role_1000', 'ilias'),
49 new ilMailAddress('#admin', '[Math Course]'),
50 ],
51 2,
52 ],
53 ];
54 }
55
60 array $leftAddresses,
61 array $rightAddresses,
62 int $numberOfExpectedItems
63 ): void {
64 $left = new ilMailAddressListImpl($leftAddresses);
65 $right = new ilMailAddressListImpl($rightAddresses);
66
67 $list = new ilMailDiffAddressList($left, $right);
68 $this->assertCount($numberOfExpectedItems, $list->value());
69 }
70
71 public function externalAddressTestProvider(): array
72 {
73 return [
74 'Username' => [
75 new ilMailAddress('user', 'ilias'),
76 0
77 ],
78 'Email Address exists as Username' => [
79 new ilMailAddress('max.mustermann', 'ilias.de'),
80 0
81 ],
82 'Email Address' => [
83 new ilMailAddress('phpunit', 'gmail.com'),
84 1
85 ],
86 'Mailing List' => [
87 new ilMailAddress('#il_ml_4713', 'ilias'),
88 0
89 ],
90 'Role (technical)' => [
91 new ilMailAddress('#il_role_1000', 'ilias'),
92 0
93 ],
94 'Role (human readable)' => [
95 new ilMailAddress('#admin', '[Math Course]'),
96 0
97 ],
98 ];
99 }
100
107 ilMailAddress $address,
108 int $numberOfExpectedItems
109 ): void {
110 $list = new ilMailAddressListImpl([$address]);
111 $externalList = new ilMailOnlyExternalAddressList($list, 'ilias', static function (string $address): int {
112 if ('max.mustermann@ilias.de' === $address) {
113 return 4711;
114 }
115
116 return 0;
117 });
118
119 $this->assertCount($numberOfExpectedItems, $externalList->value());
120 }
121}
Class ilMailAddressListImpl.
Class ilMailAddressListTest.
testDiffAddressListCanCalculateTheDifferenceOfTwoLists(array $leftAddresses, array $rightAddresses, int $numberOfExpectedItems)
@dataProvider addressTestProvider
testExternalAddressListDecoratorFiltersExternalAddresses(ilMailAddress $address, int $numberOfExpectedItems)
@dataProvider externalAddressTestProvider
Class ilMailAddress.
Class ilMailBaseTest.
Class ilMailDiffAddressList.
Class ilMailOnlyExternalAddressList.