artisan('app:install') ->assertExitCode(0); $this->assertDatabaseHas('permissions', [ 'name' => 'platform.users.manage', 'guard_name' => 'api', ]); $this->assertDatabaseHas('roles', [ 'name' => 'admin', 'guard_name' => 'api', ]); $this->assertDatabaseHas('users', [ 'email' => 'admin@example.com', 'nickname' => 'admin', ]); $adminUser = User::query()->where('email', 'admin@example.com')->first(); $this->assertNotNull($adminUser); $this->assertTrue(Hash::check('admin', (string) $adminUser->password)); $this->assertTrue($adminUser->hasRole('admin', 'api')); $adminRole = Role::query()->where('name', 'admin')->where('guard_name', 'api')->first(); $this->assertNotNull($adminRole); $this->assertSame( Permission::query()->where('guard_name', 'api')->count(), $adminRole->permissions()->count() ); } }