public function test_it_has_relations() { $permission = Permission::create(['name' => 'Bar', 'slug' => 'bar']); $this->assertTrue($permission->users() instanceof BelongsToMany); $this->assertTrue($permission->roles() instanceof BelongsToMany); $this->assertTrue($permission->users instanceof Collection); $this->assertTrue($permission->roles instanceof Collection); }
public function test_it_can_check_permission_through_role() { $user = $this->createUser(); $this->assertFalse($user->hasPermissionTo('create-post')); $permission = Permission::create(['name' => 'Create post', 'slug' => 'create-post']); $role = Role::create(['name' => 'Author', 'slug' => 'author']); $role->permissions()->attach($permission); $user->roles()->attach($role); $user->refreshPermissions(); $this->assertTrue($user->hasPermissionTo('create-post'), 'user cannot create post'); }
/** * Execute the console command. * * @return void */ public function handle() { $permissions = $this->file->getRequire(base_path(config('trust.permissions'))); $create = 0; $update = 0; foreach ($permissions as $slug => $attributes) { $permission = $this->findPermission($slug); if ($permission) { if ($this->option('force')) { ++$update; $permission->update($attributes + compact('slug')); } } else { ++$create; Permission::create($attributes + compact('slug')); } } $total = $create + $update; $this->line("Installed {$total} permissions. <info>({$create} new permissions)</info>"); }