1+ <?php
2+
3+ use Illuminate \Support \Facades \Auth ;
4+ use Illuminate \Support \Facades \Hash ;
5+ use Illuminate \Support \Str ;
6+ use SolutionForest \InspireCms \Facades \PermissionManifest ;
7+ use SolutionForest \InspireCms \Helpers \AuthHelper ;
8+ use SolutionForest \InspireCms \Helpers \PermissionHelper ;
9+ use SolutionForest \InspireCms \Tests \Models \User ;
10+ use SolutionForest \InspireCms \Tests \TestCase ;
11+ use Spatie \Permission \Models \Role ;
12+
13+ uses (TestCase::class);
14+
15+ describe ('user management ' , function () {
16+
17+ it ('can create super admin user ' , function () {
18+ $ this ->createSuperAdminUser ();
19+
20+ $ user = User::first ();
21+
22+ expect ($ user )->not ->toBeNull ();
23+ expect ($ user ->name )->toBe ('Super Admin ' );
24+ expect (
$ user->
email )->
toBe (
'[email protected] ' );
25+ expect ($ user ->preferred_language )->toBe ('en ' );
26+ expect ($ user ->uuid )->not ->toBeNull ();
27+ expect (Str::isUuid ($ user ->uuid ))->toBeTrue ();
28+ expect (Hash::check ('password ' , $ user ->password ))->toBeTrue ();
29+ });
30+
31+ it ('assigns super admin role to created user ' , function () {
32+ $ this ->createSuperAdminUser ();
33+
34+ $ user = User::first ();
35+ $ superAdminRoleName = PermissionManifest::getSuperAdminRoleName ();
36+ $ superAdminRole = Role::where ('name ' , $ superAdminRoleName )->first ();
37+
38+ expect ($ user ->hasRole ($ superAdminRole ))->toBeTrue ();
39+ });
40+
41+ it ('can login as super admin ' , function () {
42+ $ this ->createSuperAdminUser ();
43+
44+ $ response = $ this ->loginCmsPanelAsSuperAdmin ();
45+
46+ expect (Auth::guard (AuthHelper::guardName ())->check ())->toBeTrue ();
47+ expect (Auth::guard (AuthHelper::guardName ())->user ())->toBeInstanceOf (User::class);
48+ });
49+
50+ });
0 commit comments