/**
  * Gets settings mapper
  *
  * @param  ServiceLocatorInterface $serviceLocator
  * @return SettingsMapper
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $options = $serviceLocator->get('HtSettingsModule\\Options\\ModuleOptions');
     $settingsProvider = new SettingsProvider($options, $serviceLocator->get('HtSettingsModule_SettingsMapper'), $serviceLocator->get('HtSettingsModule\\Service\\NamespaceHydratorProvider'));
     if ($options->getCacheOptions()->isEnabled()) {
         $settingsProvider->setCacheManager($serviceLocator->get('HtSettingsModule\\Service\\CacheManager'));
     }
     return $settingsProvider;
 }
 public function testGetEmptySettingsWhenNoSettingsIsAvailable()
 {
     $cacheOptions = new CacheOptions();
     $options = new ModuleOptions(['cache_options' => $cacheOptions]);
     $settingsMapper = $this->getMock('HtSettingsModule\\Mapper\\SettingsMapperInterface');
     $namespaceHydratorProvider = $this->getMockBuilder('HtSettingsModule\\Service\\NamespaceHydratorProviderInerface')->disableOriginalConstructor()->getMock();
     $settingsProvider = new SettingsProvider($options, $settingsMapper, $namespaceHydratorProvider);
     $namespaceOptions = new NamespaceOptions(['entity_class' => 'ArrayObject', 'hydrator' => new Hydrator\ArraySerializable()]);
     $options->addNamespace($namespaceOptions, 'hockey');
     $settingsMapper->expects($this->any())->method('findByNamespace')->will($this->returnValue([]));
     $settings = $settingsProvider->getSettings('hockey');
 }