92 : array
93 {
94 $test_users = [];
95
96 foreach (
97 [
98 ['gender' => 'm', 'num_superiors' => 2,],
99 ['gender' => 'n', 'num_superiors' => 1,],
100 ['gender' => 'f', 'num_superiors' => 0,],
101 ['gender' => '', 'num_superiors' => 3,],
102 ] as $definition
103 ) {
107 $user_callable =
function (Closure $mock_builder) use ($definition):
ilObjUser&MockObject {
108 $user = $mock_builder()
109 ->disableOriginalConstructor()
110 ->onlyMethods([
111 'getLanguage',
112 'getUTitle',
113 'getLogin',
114 'getLastname',
115 'getFirstname',
116 'getGender',
117 'getId',
118 ])
119 ->getMock();
120
121 $user->expects($this->atLeastOnce())->method('getLanguage')->willReturn('de');
122 $user->expects($this->atLeastOnce())->method('getUTitle')->willReturn('###Dr. Ing###');
123 $user->expects($this->atLeastOnce())->method('getLogin')->willReturn('###phpunit###');
124 $user->expects($this->atLeastOnce())->method('getLastname')->willReturn('###Unit###');
125 $user->expects($this->atLeastOnce())->method('getFirstname')->willReturn('###PHP###');
126 $user->expects($this->atLeastOnce())->method('getGender')->willReturn($definition['gender']);
127 $user->expects($this->atLeastOnce())->method('getId')->willReturn(4711);
128
129 return $user;
130 };
131
136 $ou_user_callable = function (Closure $mock_builder) use ($definition): array {
137 $ou_user = $mock_builder()
138 ->disableOriginalConstructor()
139 ->onlyMethods(['getSuperiors',])
140 ->getMock();
141
143 $ou_user->expects($this->atLeastOnce())->method('getSuperiors')->willReturn($superiors);
144
145 return [$ou_user, $superiors];
146 };
147
148 $test_users[sprintf(
149 'User with gender "%s" and %s superiors',
150 $definition['gender'],
151 $definition['num_superiors']
152 )] = [$user_callable, $ou_user_callable];
153 }
154
155 return $test_users;
156 }
generateOrgUnitUsers(Closure $mock_builder, int $amount)