Cartalyst\Sentinel\Users\EloquentUser::inRole PHP Method

inRole() public method

{@inheritDoc}
public inRole ( $role )
    public function inRole($role)
    {
        if ($role instanceof RoleInterface) {
            $roleId = $role->getRoleId();
        }
        foreach ($this->roles as $instance) {
            if ($role instanceof RoleInterface) {
                if ($instance->getRoleId() === $roleId) {
                    return true;
                }
            } else {
                if ($instance->getRoleId() == $role || $instance->getRoleSlug() == $role) {
                    return true;
                }
            }
        }
        return false;
    }

Usage Example

Example #1
0
 public function testInRole()
 {
     $user = new EloquentUser();
     $user->setConnectionResolver($resolver = m::mock('Illuminate\\Database\\ConnectionResolverInterface'));
     $resolver->shouldReceive('connection')->andReturn(m::mock('Illuminate\\Database\\Connection'));
     $user->getConnection()->shouldReceive('getQueryGrammar')->andReturn(m::mock('Illuminate\\Database\\Query\\Grammars\\Grammar'));
     $user->getConnection()->shouldReceive('getPostProcessor')->andReturn($processor = m::mock('Illuminate\\Database\\Query\\Processors\\Processor'));
     $user->getConnection()->getQueryGrammar()->shouldReceive('getDateFormat')->andReturn('Y-m-d H:i:s');
     $user->getConnection()->getQueryGrammar()->shouldReceive('compileInsertGetId');
     $processor->shouldReceive('processSelect')->andReturn([['slug' => 'foobar'], ['slug' => 'foo'], ['slug' => 'bar']]);
     $user->getConnection()->getQueryGrammar()->shouldReceive('compileSelect');
     $user->getConnection()->shouldReceive('select');
     $this->assertTrue($user->inRole('foobar'));
     $this->assertTrue($user->inRole('foo'));
     $this->assertTrue($user->inRole('bar'));
     $this->assertFalse($user->inRole('baz'));
 }