@@ -332,6 +332,40 @@ public function testModelFindAllWithGroupsAndPermissions(): void
332332 );
333333 }
334334
335+ public function testModelFirstWithIdentities (): void
336+ {
337+ fake (UserIdentityModel::class, ['user_id ' => $ this ->user ->id , 'type ' => 'password ' ]);
338+ fake (UserIdentityModel::class, ['user_id ' => $ this ->user ->id , 'type ' => 'access_token ' ]);
339+
340+ $ user = model (UserModel::class)->where ('active ' , 1 )->withIdentities ()->first ();
341+
342+ $ this ->assertInstanceOf (User::class, $ user );
343+ $ this ->assertCount (2 , $ user ->identities );
344+ }
345+
346+ public function testModelFirstWithGroups (): void
347+ {
348+ fake (GroupModel::class, ['user_id ' => $ this ->user ->id , 'group ' => 'superadmin ' ]);
349+ fake (GroupModel::class, ['user_id ' => $ this ->user ->id , 'group ' => 'admin ' ]);
350+
351+ $ user = model (UserModel::class)->where ('active ' , 1 )->withGroups ()->first ();
352+
353+ $ this ->assertInstanceOf (User::class, $ user );
354+ $ this ->assertTrue ($ user ->inGroup ('admin ' ));
355+ }
356+
357+ public function testModelFirstWithPermissions (): void
358+ {
359+ fake (PermissionModel::class, ['user_id ' => $ this ->user ->id , 'permission ' => 'users.edit ' ]);
360+ fake (PermissionModel::class, ['user_id ' => $ this ->user ->id , 'permission ' => 'users.delete ' ]);
361+
362+ $ user = model (UserModel::class)->where ('active ' , 1 )->withPermissions ()->first ();
363+
364+ $ this ->assertInstanceOf (User::class, $ user );
365+ $ this ->assertTrue ($ user ->hasPermission ('users.delete ' ));
366+ $ this ->assertFalse ($ user ->hasPermission ('users.add ' ));
367+ }
368+
335369 public function testLastLogin (): void
336370 {
337371 fake (
0 commit comments