コード例 #1
0
 public function testMakesByTypeThrowsExceptionWhenCustomPermissionIsNotPermission()
 {
     list($auth, $routes, $repo) = $this->getMocks();
     $instance = new Factory($auth, $routes, $repo);
     $instance->extend('custom', function ($target, $user, $registered) {
         return new \stdClass();
     });
     $mockUser = m::mock('Xpressengine\\Member\\Entities\\MemberEntityInterface');
     $auth->shouldReceive('user')->andReturn($mockUser);
     $mockRegistered1 = m::mock('Xpressengine\\Permission\\Registered');
     $mockRegistered1->name = 'plugin';
     $mockRegistered2 = m::mock('Xpressengine\\Permission\\Registered');
     $mockRegistered2->name = 'plugin.board';
     $mockRegistered2->shouldReceive('addParent');
     $repo->shouldReceive('fetchByType')->once()->with('default', 'custom')->andReturn([$mockRegistered1, $mockRegistered2]);
     try {
         $permissions = $instance->makesByType('custom');
         $this->assertTrue(false);
     } catch (\Exception $e) {
         $this->assertInstanceOf('Xpressengine\\Permission\\Exceptions\\NotMatchedInstanceException', $e);
     }
 }