/** * @dataProvider providePermissionData */ public function testGetAction($id, $class, $permissions) { $request = new Request(['id' => $id, 'type' => $class]); $this->accessControlManager->getPermissions($class, $id)->willReturn([1 => $permissions]); $this->viewHandler->handle(View::create(['id' => $id, 'type' => $class, 'permissions' => [1 => $permissions]]))->shouldBeCalled(); $this->permissionController->cgetAction($request); }
public function cgetAction(Request $request) { try { $identifier = $request->get('id'); $type = $request->get('type'); if (!$identifier) { throw new MissingParameterException(static::class, 'id'); } if (!$type) { throw new MissingParameterException(static::class, 'type'); } $permissions = $this->accessControlManager->getPermissions($type, $identifier); return $this->viewHandler->handle(View::create(['id' => $identifier, 'type' => $type, 'permissions' => $permissions])); } catch (RestException $exc) { return $this->viewHandler->handle(View::create($exc->toArray(), 400)); } }