/**
  * {@inheritDoc}
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $options = $serviceLocator->get('zfcuser_module_options');
     $entityClass = $options->getUserEntityClass();
     $object = new ZfcUserFieldset(new ZfcUserForm($options));
     $object->setHydrator($serviceLocator->get('zfcuser_user_hydrator'));
     $object->setObject(new $entityClass());
     return $object;
 }
 /**
  * @dataProvider providerFieldWillAddTheStandardProfileFieldsFromBaseFormWhenTheyArePresent
  */
 public function testFieldWillAddTheStandardProfileFieldsFromBaseFormWhenTheyArePresent($setup)
 {
     $mockForm = \Mockery::mock('ZfcUser\\Form\\Base');
     $enabled = array();
     foreach ($setup as $field => $state) {
         $mockForm->shouldReceive('has')->withArgs(array($field))->once()->andReturn($state === 1);
         if ($state) {
             $element = \Mockery::mock('Zend\\Form\\ElementInterface');
             $element->shouldReceive('getName')->andReturn($field);
             $element->shouldReceive('setName')->withArgs(array($field === 'userId' ? 'id' : $field))->once();
             $mockForm->shouldReceive('get')->withArgs(array($field))->once()->andReturn($element);
             array_push($enabled, $field);
         }
     }
     $extension = new ZfcUserFieldset($mockForm);
     foreach ($enabled as $field) {
         $this->assertTrue($extension->has($field === 'userId' ? 'id' : $field));
     }
 }