@@ -100,6 +100,68 @@ public function testDeleteWithNoPermission(UserController $controller)
100100 $ controller ->delete ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
101101 }
102102
103+ /**
104+ * @depends testControllerConstructorWithUser
105+ * @param UserController $controller
106+ */
107+ public function testGetActivitiesWithNoPermission (UserController $ controller )
108+ {
109+ $ this ->expectException (ForbiddenException::class);
110+ $ controller ->getActivities ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
111+ }
112+
113+ /**
114+ * @depends testControllerConstructorWithUser
115+ * @param UserController $controller
116+ */
117+ public function testGetActivitiesWithPartialPermission (UserController $ controller )
118+ {
119+ // Guest user
120+ $ testUser = $ this ->createTestUser (false , true );
121+
122+ // Give user partial permissions
123+ $ this ->giveUserTestPermission ($ testUser , 'view_user_field ' );
124+
125+ // Get new controller to propagate new user
126+ $ controller = $ this ->getController ();
127+
128+ $ result = $ controller ->getActivities ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
129+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
130+ $ this ->assertJson ((string ) $ result ->getBody ());
131+ $ this ->assertNotEmpty ((string ) $ result ->getBody ());
132+ }
133+
134+ /**
135+ * @depends testControllerConstructorWithUser
136+ * @param UserController $controller
137+ */
138+ public function testGetInfoWithNoPermission (UserController $ controller )
139+ {
140+ $ this ->expectException (ForbiddenException::class);
141+ $ controller ->getInfo ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
142+ }
143+
144+ /**
145+ * @depends testControllerConstructorWithUser
146+ * @param UserController $controller
147+ */
148+ public function testGetInfoWithPartialPermission (UserController $ controller )
149+ {
150+ // Guest user
151+ $ testUser = $ this ->createTestUser (false , true );
152+
153+ // Give user partial permissions
154+ $ this ->giveUserTestPermission ($ testUser , 'uri_user ' );
155+
156+ // Get new controller to propagate new user
157+ $ controller = $ this ->getController ();
158+
159+ $ result = $ controller ->getInfo ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
160+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
161+ $ this ->assertJson ((string ) $ result ->getBody ());
162+ $ this ->assertNotEmpty ((string ) $ result ->getBody ());
163+ }
164+
103165 /**
104166 * @depends testControllerConstructorWithUser
105167 * @param UserController $controller
@@ -138,6 +200,126 @@ public function testGetModalCreateWithNoPermission(UserController $controller)
138200 $ controller ->getModalCreate ($ request , $ this ->getResponse (), []);
139201 }
140202
203+ /**
204+ * @depends testControllerConstructorWithUser
205+ * @param UserController $controller
206+ */
207+ public function testGetModalCreateWithNoUserGroup (UserController $ controller )
208+ {
209+ // Guest user
210+ $ testUser = $ this ->createTestUser (false , true );
211+
212+ // Give user partial permissions
213+ $ this ->giveUserTestPermission ($ testUser , 'create_user ' );
214+
215+ // Get new controller to propagate new user
216+ $ controller = $ this ->getController ();
217+
218+ $ result = $ controller ->getModalCreate ($ this ->getRequest (), $ this ->getResponse (), []);
219+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
220+ $ this ->assertNotSame ('' , (string ) $ result ->getBody ());
221+ }
222+
223+ /**
224+ * @depends testControllerConstructorWithUser
225+ * @param UserController $controller
226+ */
227+ public function testGetModalEditWithNoPermissions (UserController $ controller )
228+ {
229+ $ request = $ this ->getRequest ()->withQueryParams ([
230+ 'user_name ' => 'userfoo '
231+ ]);
232+
233+ $ this ->expectException (ForbiddenException::class);
234+ $ controller ->getModalEdit ($ request , $ this ->getResponse (), []);
235+ }
236+
237+ /**
238+ * @depends testControllerConstructorWithUser
239+ * @param UserController $controller
240+ */
241+ public function testGetModalEditWithPartialPermissions (UserController $ controller )
242+ {
243+ // Guest user
244+ $ testUser = $ this ->createTestUser (false , true );
245+
246+ // Give user partial permissions
247+ $ this ->giveUserTestPermission ($ testUser , 'update_user_field ' );
248+
249+ // Get new controller to propagate new user
250+ $ controller = $ this ->getController ();
251+
252+ $ request = $ this ->getRequest ()->withQueryParams ([
253+ 'user_name ' => 'userfoo '
254+ ]);
255+
256+ $ result = $ controller ->getModalEdit ($ request , $ this ->getResponse (), []);
257+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
258+ $ this ->assertNotSame ('' , (string ) $ result ->getBody ());
259+ }
260+
261+ /**
262+ * @depends testControllerConstructorWithUser
263+ * @param UserController $controller
264+ */
265+ public function testGetModalEditWithNoGroupPermissions (UserController $ controller )
266+ {
267+ // Guest user
268+ $ testUser = $ this ->createTestUser (false , true );
269+
270+ // Give user partial permissions
271+ $ this ->giveUserTestPermission ($ testUser , 'update_user_field ' , "subset(fields,['name','email','locale','flag_enabled','flag_verified','password']) " );
272+
273+ // Get new controller to propagate new user
274+ $ controller = $ this ->getController ();
275+
276+ $ request = $ this ->getRequest ()->withQueryParams ([
277+ 'user_name ' => 'userfoo '
278+ ]);
279+
280+ $ result = $ controller ->getModalEdit ($ request , $ this ->getResponse (), []);
281+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
282+ $ this ->assertNotSame ('' , (string ) $ result ->getBody ());
283+ }
284+
285+ /**
286+ * @depends testControllerConstructorWithUser
287+ * @param UserController $controller
288+ */
289+ public function testGetModalEditPasswordWithNoPermissions (UserController $ controller )
290+ {
291+ $ request = $ this ->getRequest ()->withQueryParams ([
292+ 'user_name ' => 'userfoo '
293+ ]);
294+
295+ $ this ->expectException (ForbiddenException::class);
296+ $ controller ->getModalEditPassword ($ request , $ this ->getResponse (), []);
297+ }
298+
299+ /**
300+ * @depends testControllerConstructorWithUser
301+ * @param UserController $controller
302+ */
303+ public function testGetModalEditPasswordWithPartialPermissions (UserController $ controller )
304+ {
305+ // Guest user
306+ $ testUser = $ this ->createTestUser (false , true );
307+
308+ // Give user partial permissions
309+ $ this ->giveUserTestPermission ($ testUser , 'update_user_field ' );
310+
311+ // Get new controller to propagate new user
312+ $ controller = $ this ->getController ();
313+
314+ $ request = $ this ->getRequest ()->withQueryParams ([
315+ 'user_name ' => 'userfoo '
316+ ]);
317+
318+ $ result = $ controller ->getModalEditPassword ($ request , $ this ->getResponse (), []);
319+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
320+ $ this ->assertNotSame ('' , (string ) $ result ->getBody ());
321+ }
322+
141323 /**
142324 * @depends testControllerConstructorWithUser
143325 * @param UserController $controller
@@ -152,6 +334,98 @@ public function testGetModalEditRolesWithNoPermission(UserController $controller
152334 $ controller ->getModalEditRoles ($ request , $ this ->getResponse (), []);
153335 }
154336
337+ /**
338+ * @depends testControllerConstructorWithUser
339+ * @param UserController $controller
340+ */
341+ public function testGetPermissionsWithNoPermissions (UserController $ controller )
342+ {
343+ $ this ->expectException (ForbiddenException::class);
344+ $ controller ->getPermissions ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
345+ }
346+
347+ /**
348+ * @depends testControllerConstructorWithUser
349+ * @param UserController $controller
350+ */
351+ public function testGetPermissionsWithPartialPermissions (UserController $ controller )
352+ {
353+ // Guest user
354+ $ testUser = $ this ->createTestUser (false , true );
355+
356+ // Give user partial permissions
357+ $ this ->giveUserTestPermission ($ testUser , 'view_user_field ' );
358+
359+ // Get new controller to propagate new user
360+ $ controller = $ this ->getController ();
361+
362+ $ result = $ controller ->getPermissions ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
363+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
364+ $ this ->assertJson ((string ) $ result ->getBody ());
365+ $ this ->assertNotEmpty ((string ) $ result ->getBody ());
366+ }
367+
368+ /**
369+ * @depends testControllerConstructorWithUser
370+ * @param UserController $controller
371+ */
372+ public function testGetRolesWithNoPermissions (UserController $ controller )
373+ {
374+ $ this ->expectException (ForbiddenException::class);
375+ $ controller ->getRoles ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
376+ }
377+
378+ /**
379+ * @depends testControllerConstructorWithUser
380+ * @param UserController $controller
381+ */
382+ public function testGetRolesWithPartialPermissions (UserController $ controller )
383+ {
384+ // Guest user
385+ $ testUser = $ this ->createTestUser (false , true );
386+
387+ // Give user partial permissions
388+ $ this ->giveUserTestPermission ($ testUser , 'view_user_field ' );
389+
390+ // Get new controller to propagate new user
391+ $ controller = $ this ->getController ();
392+
393+ $ result = $ controller ->getRoles ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
394+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
395+ $ this ->assertJson ((string ) $ result ->getBody ());
396+ $ this ->assertNotEmpty ((string ) $ result ->getBody ());
397+ }
398+
399+ /**
400+ * @depends testControllerConstructorWithUser
401+ * @param UserController $controller
402+ */
403+ public function testPageInfoWithNoPermissions (UserController $ controller )
404+ {
405+ $ this ->expectException (ForbiddenException::class);
406+ $ controller ->pageInfo ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
407+ }
408+
409+ /**
410+ * @depends testControllerConstructorWithUser
411+ * @param UserController $controller
412+ */
413+ public function testPageInfoWithPartialPermissions (UserController $ controller )
414+ {
415+ // Guest user
416+ $ testUser = $ this ->createTestUser (false , true );
417+
418+ // Give user partial permissions
419+ $ this ->giveUserTestPermission ($ testUser , 'uri_user ' );
420+
421+ // Get new controller to propagate new user
422+ $ controller = $ this ->getController ();
423+
424+ $ result = $ controller ->pageInfo ($ this ->getRequest (), $ this ->getResponse (), ['user_name ' => 'userfoo ' ]);
425+ $ this ->assertSame ($ result ->getStatusCode (), 200 );
426+ $ this ->assertNotSame ('' , (string ) $ result ->getBody ());
427+ }
428+
155429 /**
156430 * @depends testControllerConstructorWithUser
157431 * @param UserController $controller
0 commit comments